现在开始获取用户信息及用户签名
开始获取前先说明一下,所需的Cookie以后就不提了,用WinInet时不用手动设置Cookie,直接用Socket通信时直接看抓包抓到的Cookie数据就行了。
1、获取用户信息
获取用户信息使用的命令是5c
用POST向http://web-proxy2.qq.com/conn_s(三个中的任何一个均可)发送以下数据,服务器就返回用户信息数据了。
1030196367;5c;0;fb0146dd;88;
第一个是QQ号;第二个就是命令了,获取用户信息用的是5C;第三个是消息序号,是客户端向服务器发送的消息的编号(不少文章说前十个是固定的之类,其实是错误的,每次都发送0都能获取到正确的数据);第四个就是所谓的令牌了,官方叫web_session;第五个88是一个子命令,意思是获取自己的信息
服务器返回如下数据:
1030196367;5c;0;88;0;1;9;0;3;
第一个是自己的QQ号;第二个是命令,意思是这条数据是用户信息;第三个是请求时的消息序号;第四个是88,就是发送的那个子命令;第五个是0,不是0就错了,只有是0才处理后面的数据;第六个是该帐号的等级,比如1级是一个星星,16级是一个太阳;第七个是在线天数;第八个是vip等级;第九个是剩余升级天数。
发送:
1030196367;5c;0;5cb2aea5;89;2;XXXX;XXXX;
第一个不必说了;第二个是命令号也不必说;第三个是系统用的消息编号;第四个是登录令牌(web_session);第五个为89,即为子命令,获取好友的信息;第六个为2表示后面要获取两个帐号的信息;第七第八即为两个帐号。
返回:
1030196367;5c;0;89;0;XXXX;32;0;XXXX;33;0;
第一个是自己的QQ号;第二个是命令号;第三个是消息编号;第四个是子命令号;第五个数为0才是正确的数据;XXXX为帐号,后两个数据是等级和vip等级。
2、获取好友的个性签名
命令:67
发送:
1030196367;67;0;fb0146dd;03;3;XXXX;XXXX;XXXX;
前四个就不讲了,第五个是子命令,可以是01、02、03,但01和02没什么意义;第六个是好友帐号数量;再往后就是相应的好友帐号了。
返回:
1030196367;67;0;03;0;XXXX;XXXX;......;XXXX;......; 第四个即为相应的子命令号;第五个为0才是正确的数据;第六个数据没意义;第七个如果为0则第八个为空,处理完毕,第七个如果是好友帐号,则后面就是该好友的个性签名。后面类似。这种方法也能获取自己的个性签名,把自己的QQ号作为好友号加在后面就能获取到了。
作者:yjh4866