快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

兴旺娱乐官方网站:开心网辅助程序开发手记(二):获取好友私家车位信息



在上篇手记《兴奋网帮助法度榜样开拓手记》中,简单记录了若何登录兴奋网,获取“争车位”的相关数据:玩家(停车者)信息、玩家车辆泊车信息、玩家私家车位泊车环境等。在这篇手记中,将简单描述如和获取玩家石友信息及玩家私家车位泊车环境。话不多说,进入正文。

一、获取玩家石友信息

其其实上篇手记中,有提到v_frienddata变量,着实玩家石友信息便因此JSON款式保存在该变量里的,我们只必要写好对应的实体,再使用Json.NET做个转换就可以了。因为上篇没有具体先容若何应用Json.NET对JSON进行转换,这里弥补先容一下。

先来看一下变量中JSON的树状布局:

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

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceSNSHelper.Kaixin001.Entity

{

publicclassParkerFriendInfo:EntityBase

{

publicParkerFriendInfo(objectobj)

:base(obj)

{

}

publicstringUId

{

get

{

returnjsobj["uid"].ToString();

}

}

publicstringRealName

{

get

{

returnUtility.Unicode2Character(jsobj["real_name"].ToString());

}

}

publicstringTa

{

get

{

returnUtility.Unicod兴旺娱乐官方网站e2Character(jsobj["ta"].ToString());

}

}

publicstringFull

{

get

{

returnjsobj["full"].ToString();

}

}

publicstringSceneMoney

{

get

{

returnjsobj["scenemoney"].兴旺娱乐官方网站ToString();

}

}

publicstringSceneName

{

get

{

retur兴旺娱乐官方网站nUtility.Unicode2Chara兴旺娱乐官方网站cter(jsobj["scenename"].ToString());

}

}

publicstringNeighbor

{

g兴旺娱乐官方网站et

{

returnjsobj["neighbor"].ToString();

}

}

publicstringOnline

{

get

{

returnjsobj["online"].ToString();

}

}

}

}

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

stringfriendData=Utility.GetMidString(parkingHTML,"varv_frienddata=","n");//获取v_frienddata变量

friendData=friendData.Trim().WordStr("/","/").WordStr("u","u");

o=Newtonsoft.Json.JavaScriptConvert.DeserializeObject(friendData);

Newtonsoft.Json.JavaScriptArrayjsaFriend=oasNewtonsoft.Json.JavaScriptArray;

for(inti=0;i

因为v_frienddata中的JSON包孕的是一个数组,固可以把object工具o转换成Newtonsoft.Json.JavaScriptArray。

二、获取玩家石友私家车位泊车环境

在获取玩家石友私家车位泊车环境时,让我们先打开《兴奋网》“争车位”页面,钻研一下:在页面上应该如何操作才能获取玩家石友私家车位泊车环境。

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

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

那么石友私家车位的数据是怎么来的呢,你可以应用HTTP抓包对象Http Analyzer来进行抓包阐发一下,这里我用的是Firebug。下面先容一下若何使用Firebug进行抓包。

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

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

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

6. 下面便是在法度榜样中模拟这个Post哀求了

///

///获取石友私家车位泊车环境

///

///

石友编号

///

publicList

GetFirendParkingInfo(stringfriendUId)

{

stringurl="http://www.kaixin001.com/parking/user.php";

stringpostParams=string.Format("puid={0}&verify={1}&_=",friendUId,verify);

stringfriendParkingJSON=newHttpHelper().GetHtml(url,postParams,true,Utility.Cookies);

if(string.IsNullOrEmpty(friendParkingJSON))

{

returnnull;

}

friendParkingJSON=friendParkingJSON.WordStr("/","/").WordStr("u","u");

List

friendParkingInfoList=newList

();

objecto=Newtonsoft.Json.JavaScriptConvert.DeserializeObject(friendParkingJSON);

Newtonsoft.Json.JavaScriptObjectjo=oasNewtonsoft.Json.JavaScriptObject;

Newtonsoft.Json.JavaScriptArrayjsa=jo["parking"]asNewtonsoft.Json.JavaScriptArray;

for(inti=0;i

小我感觉:到此为止,制作《兴奋网-争车位助手》的阐发和基础数据获取已经筹备得差不多了,接下去便是实现真正的模拟争车位了,很是等候,但也必然得等有空时才能继承了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: