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

推荐订阅源

S
Schneier on Security
博客园_首页
量子位
博客园 - 司徒正美
S
SegmentFault 最新的问题
J
Java Code Geeks
小众软件
小众软件
博客园 - 【当耐特】
The Register - Security
The Register - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
博客园 - Franky
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
G
GRAHAM CLULEY
Cyberwarzone
Cyberwarzone
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
F
Full Disclosure
D
DataBreaches.Net
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 最新话题
云风的 BLOG
云风的 BLOG
C
Check Point Blog
T
Threatpost
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
W
WeLiveSecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
T
Tor Project blog
T
Troy Hunt's Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security Affairs
SecWiki News
SecWiki 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-08 · via 博客园 - Jailu

  在上篇手记《开心网辅助程序开发手记》中,简单记录了如何登录开心网,获取“争车位”的相关数据:玩家(泊车者)信息、玩家车辆停车信息、玩家私家车位停车情况等。在这篇手记中,将简单描述如和获取玩家好友信息及玩家私家车位停车情况。话不多说,进入正文。

     一、获取玩家好友信息

      其实在上篇手记中,有提到v_frienddata变量,其实玩家好友信息就是以JSON格式保存在该变量里的,我们只需要写好对应的实体,再利用Json.NET做个转换就可以了。由于上篇没有详细介绍如何使用Json.NET对JSON进行转换,这里补充介绍一下。

      先来看一下变量中JSON的树状结构:


      其中,uid为1、2的是系统给玩家添加的默认邻居。下面是实体类(关于EntityBase实体请参见上篇手记附带的源码):

Code

      下面是Json.NET对JSON的转换代码:

Code

      由于v_frienddata中的JSON包含的是一个数组,固可以把object对象o转换成Newtonsoft.Json.JavaScriptArray。

     二、获取玩家好友私家车位停车情况

      在获取玩家好友私家车位停车情况时,让我们先打开《开心网》“争车位”页面,研究一下:在页面上应该怎样操作才能获取玩家好友私家车位停车情况。

      1. 点击下图红色线条框内的好友名字(李敏杰)


      2.  点击好友名字时,你会发现页面中部队flash数据已经转变为好友私家车位的数据。

      那么好友私家车位的数据是怎么来的呢,你可以使用HTTP抓包工具Http Analyzer来进行抓包分析一下,这里我用的是Firebug。下面介绍一下如何利用Firebug进行抓包。

      1. 为了排除历史数据对我们的分析造成影响,请你重新在Firefox中打开“争车位”页面;

      2. 点击好友名字(李敏杰)

      3. 在Firefox中按下F12调出Firebug

      4. 在console面板下,我们可以发现有一个POST


       5. 点开这个POST,我们可以清楚的看到这次请求想服务器发送到Post Data(puid: 11948259; verify: 12813044_1040_12813044_1228739520_e83ef7b74ff97a1c788d1454fc327724)和服务器的Response

      6. 单击Response,再单击Load Response,你能查看服务器的Response数据,呵,又是JSON,好友私家车位的停车情况就藏在里面了,只需要用Json.NET对其做一下转换就可以了。

 

      现在,让我们会过头来看一下Post Data,其中puid就是好友的编号,我们可以从好友实体中获得;另一个verify是从哪来的呢?让我们分析一下。

      1. 单击Firebug中的Inspect,再单击一下好友名字(李敏杰),在Firebug中就自动在HTML中帮我们定位好了,如下图:


      2. 很直接的看到:在我们单击好友名字时,系统调用了一个gotouser方法

      3. 借助Firebug,我们轻易的就在Parking-7.js中找到了gotouser方法

Code

      4. 在这段JS中,不难发现verify是从变量g_verify中来的,那么g_verify又是从哪来的呢?我猜是在app.php?aid=1040中

 

      5. 从上图可以看到g_verify变量的值和上文提到的Post Data中的Verify中的数据是一样的,那就说明我们找得没错了。

      6. 下面就是在程序中模拟这个Post请求了

Code

个人觉得:到此为止,制作《开心网-争车位助手》的分析和基本数据获取已经准备得差不多了,接下去就是实现真正的模拟争车位了,很是期待,但也一定得等有空时才能继续了。

点击下载实例源码 (由于目前源码中没有任何界面,若有兴趣的朋友想测试的话请修改SNSHelper_UnitTest/App.config中的帐号信息,然后再测试视图中测试)