惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Cisco Blogs
Schneier on Security
Schneier on Security
T
Tor Project blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tenable Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Threat Research - Cisco Blogs
C
CERT Recently Published Vulnerability Notes
Security Latest
Security Latest
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
NISL@THU
NISL@THU
L
Lohrmann on Cybersecurity
Scott Helme
Scott Helme
Webroot Blog
Webroot Blog
Project Zero
Project Zero
Google Online Security Blog
Google Online Security Blog
The Last Watchdog
The Last Watchdog
Spread Privacy
Spread Privacy
Hacker News: Ask HN
Hacker News: Ask HN
PCI Perspectives
PCI Perspectives
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
W
WeLiveSecurity
Attack and Defense Labs
Attack and Defense Labs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
N
News | PayPal Newsroom
Help Net Security
Help Net Security
The Hacker News
The Hacker News
H
Heimdal Security Blog
O
OpenAI News
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
Cyberwarzone
Cyberwarzone
Simon Willison's Weblog
Simon Willison's Weblog
G
GRAHAM CLULEY
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - 叶小钗
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
I
Intezer
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Security Affairs
P
Proofpoint News Feed
S
Secure Thoughts
腾讯CDC
Google DeepMind News
Google DeepMind News
量子位
罗磊的独立博客

博客园 - Jailu

如何在IIS5.1/IIS6.0上使用ASP.NET URL Routing 如何在Web Form中使用URL Routing? Linq to SQLite使用笔记 Response.ContentType 详细列表 如何利用Google Code的SVN显示Html页面 Windows7下IIS7的安装及ASP配置方法 [原]分享几个日常开发中经常用到的软件 ASP.NET中Cookie问题求教 解决FF中的bug:JavaScript focus() throws "Permission denied to get property XULElement.selectedIndex" [原]请留心asp:Image控件中的ImageUrl属性 开心网辅助程序--开心网争车位助手正式发布(含源码) 开心网辅助程序开发手记(四):贴条功能+逻辑停车+简单界面 开心网辅助程序开发手记(三):实现停车功能 HTML:对话框插件thickbox使用技巧 - Jailu - 博客园 开心网辅助程序开发手记(二):获取好友私家车位信息 [程序收藏]把Unicode转成汉字 原来.NET Framework 2.0也是支持母版页嵌套的 Fire event in IE & Firefox 【转】FireFox与IE开发上的一些区别
开心网辅助程序开发手记
Jailu · 2008-12-06 · via 博客园 - Jailu

《开心网辅助程序开发手记》 系列导读:

开心网辅助程序开发手记

开心网辅助程序开发手记(二):获取好友私家车位信息

开心网辅助程序开发手记(三):实现停车功能 

开心网辅助程序开发手记(四):贴条功能+逻辑停车+简单界面 

开心网辅助程序--开心网争车位助手正式发布(含源码) 

  声明:本人只在业余空闲时间写写《开心网辅助程序》,目的只是学习!

    由于之前有写过类似的程序,也写过相关的文章介绍过(C#网站登录学习笔记(一):登录简单网站C#网站登录学习笔记(二):访问需登录后才能访问的页面),这次写起“开心网辅助程序”也可以算是得心应手了,直接从电脑中翻出尘封已久的HttpHelper(前面提到的两篇文章就是居于这个操作类进行的),稍微分析了一下网页结构(争车位),就写起程序来了!

    在开始写手记前,让我们看看写这样的“外挂”程序需要准备什么软件?

    1. 抓包工具:Http Analyzer V3。既然要实现的是Http模拟请求,抓包工具肯定少不了了

    2. 网页分析工具:Firefox 3.0 + Firebug 1.2.1。没错,可爱的火狐狸又来帮忙了

    在这篇手记中,将简单的介绍一下如何登录开心网、获取争车位相关数据。

    一、稍微修改了一下HttpHelper类的代码:

Code

    二、登录《开心网(http://www.kaixin001.com)》

      首页找到《开心网》的登录页面,本人用的是http://www.kaixin001.com/login/index.php,打开Http Analyzer V3,选中Firefox进程,启动监听。然后再登录页面中登录,打开Http Analyzer查看监听数据,一看吓一跳--诺大的开心网,登录页面居然没做一点验证?!不过这样也好,为我们这些还心眼的提供了方便。

    下面就是简单的登录程序:

Code

    三、访问“争车位”页面,获取相关数据

      用Http Analyzer监听发现,打开“争车位”页面,“开心网”依旧没给我们出任何难题,只有带上登录时的Cookie就能直接访问到“争车位”页面(http://www.kaixin001.com/app/app.php?aid=1040)

Code

      这么轻易就来到“争车位”页面了,赶紧打开网页源码分析一下,咱得赶紧找出“我的汽车”里的汽车对吧?

      打开源码,Ctrl + F,查找“我的汽车”

      嘿,在源码里居然没发现“我的汽车”信息,真是失望!慢着,“我的汽车”不会藏在setMyCar();方法里吧?找找看!返回Firefox,按下F12,请出我们的大侠Firebug,让它帮忙找找。

     能熟练使用Firebug的朋友,相信你一下子就找到数据了吧,那我给其他还没找到的朋友一点提醒:setMyCar()方法在parking-7.js里呢,但是数据却在app.php?aid=1040中的v_userdata变量中呢!

    提示:当选择Script选项卡时,可用鼠标单击红框部位。有什么用?你点了吗?你没点怎么知道呢?

    仔细一看,乖乖,原来是JSON啊,本人之前只了解过,但不清楚如何使用。得,现学吧。以下是本人搜索到的一些资源,供和我一样不了解JSON的朋友参考:

    http://www.json.org/

    http://james.newtonking.com/projects/json-net.aspx

    http://www.ibm.com/developerworks/cn/web/wa-lo-json/?ca=drs-tp3308

    经过简单的了解后,本人选择了Json.NET来操作JSON。PS:Json.NET下载地址:http://www.codeplex.com/Json,.NET Framework 2.0的请下载Json.NET 1.3.1;最新版本的Json.NET 3.5需要.NET Framework 3.5的支持。

   Newtonsoft.Json.JavaScriptConvert.DeserializeObject方法可用来把JSON字符串转成实体,你只需根据JSON的结构,拼出正确的实体就可以简单的使用该方法把JSON字符串转成对应的实体。如何查看JSON的结构呢?由于本人之前为曾使用过JSON,目前只发现在Http Analyzer V3中,Tools/JSON Viewer可用来查看JSON结构(若您有更好的工具,请您推荐给我)

    上图所示的是v_userdata变量中JSON的树状结构。

    通过分析,v_userdata中包含了用户基本信息(user)、用户车位的停车情况(parking)、用户汽车情况(car);v_frienddata中包含了好友信息。

    由于这块的代码量比较庞大,就不在帖子中展示了,有兴趣的朋友可以自行查看本文附带的源码。

上图是源码结构截图,目前只实现了登录开心网、获取争车位相关数据的功能。

HttpHelper.cs:该类封装了访问网页数据的方法

Kaixin001/Entity:该目录下存放的是开发中使用到的实体

Utility.cs:一些常用的方法

ParkingHelper.cs:和“争车位”相关的方法

SNSHelper_UnitTest:单元测试相关。目前源码只是一个类库

由于本人能力有限,贴出程序只是希望能帮到那些对这方面开发有兴趣的朋友。若您对程序有什么看法,欢迎您和我交流!

点击下载源码