| 墨阐 |
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.之后发送接收消息都需要它. |
|