快速业务通道

蝕伉利絹廁殻會蝕窟返芝

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-19
  string postData = string.Format("url=/home/&invisible_mode=0&email={0}&password={1}", loginEmail, loginPassword);   string result = httpHelper.GetHtml(loginUrl, postData, true, cookieContainer);      return isLogin = result.Contains("我的首页"); }

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

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

Code

CookieContainer cookie = Utility.Cookies;
string parkingHTML = new HttpHelper().GetHtml(AppUrl + AppID, cookie); // AppUrl = "http://www.kaixin001.com/app/app.php?aid="; AppID = "1040";
if (!parkingHTML.Contains("争车位"))
{
  throw new Exception("读取争车位信息出错");
}

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

打开源码,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:单元测试相关。目前源码只是一个类库

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

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号