精英盒子 -> 程序设计 -> WebQQ接口之登录 [打印本页]

墨阐 2012-02-20 22:52

WebQQ接口之登录

http://ptlogin2.qq.com/check?appid=1003903&uin={qq号码} 获取是否需要验证码的状态码,返回值为ptui_checkVC('$1','!$2');
$1==0则不需要,其中$2可能是任意三位字母.如果$1==1则需要,$2前面也不再是'!',改为一个48位字符串.这时需要使用http://captcha.qq.com/getimage?aid=1003903&&uin={qq号码}&vc_type={刚才获得的字符串}获取验证码图像.
之后开始登录.话说疼树的密码加密算法是神马……我再去百度吧.现在用http://ptlogin2.qq.com/login?u={qq号码}&p={密码和验证码加密后的字符串}&verifycode={验证码}&remember_uin=1&aid=1003903&u1=http%3A%2F%2Fweb2.qq.com%2Floginproxy.html%3Fstrong%
3Dtrue&h=1&ptredirect=0&ptlang=2052&from_ui=1&pttype=1&dumy=&fp=loginerroralert
这个要加个Referer:http://web2-b.qq.com/proxy.html
然后保存Cookie,里面有ptwebqq,skey神马的.
之后还要再"登录"一次才算上线……表问我为神马,我又不是疼树架构……
http://web2-b.qq.com/channel/login
pass这个结构过去,其中{1}是刚才Cookie中的ptwebqq,{2}……自己定义一个ClientID吧:
r=%7B%22status%22%3A%22%22%2C%22ptwebqq%22%3A%22{1}%22%2C%22passwd_sig%22%3A%22%22%2C%22clientid%22%3A%22{2}%22%7D
如果成功,会返回一个json:
{"retcode":0,"result":{"uin":qq号码,"mode":"master","index":1055,"port":38138,"status":"online","vfwebqq":"$vf","psessionid":"
$p1"}}
需要保存其中的psessionid.之后发送接收消息都需要它.

jybox 2012-02-20 23:02
比零毫秒还乱

whtsky 2012-02-20 23:35
这东西变得很快.




Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.054375 second(s),query:5 Gzip enabled