在上述步骤中我们获取到一个ptuiCB('0','0','http://ptlogin4.web2.qq.com/check_sig?pttype=1&uin=763614984&service=ptqrlogin&nodirect=0&ptsigx=e5d147210105f325fba91bf7ba5264f9418d4dfdfc92aebe97a8b5dab8cce5865fe7a4dc031a30a1d6cbe253100acc27ad1635a1723f92be08ac7ca30a&s_url=http%3A%2F%2Fw.qq.com%2Fproxy.html%3Flogin2a%3D1%26webqq_type%3D10&f_url=&ptlang=2052&ptredirect=100&aid=501004106&daid=164&j_later=0&low_login_hour=0®master=0&pt_login_type=3&pt_aid=0&pt_aaid=16&pt_light=0&pt_3rd_aid=0','0','登录成功!', 'Koow');
其中有一个url地址,请求这个地址,如下图所示
在火狐游览器上你也可以看到此请求
对了,在上一步验证二维码是否扫描的时候如果成功,响应的Cookie中会带有ptwebqq参数,如下图最后一个参数所示
保存ptwebqq参数,在请求ptuiCB('0','0','http://ptlogin4.web2.qq.com/check_sig?pttype=1&uin=763614984&service=ptqrlogin&nodirect=0&ptsigx=e5d147210105f325fba91bf7ba5264f9418d4dfdfc92aebe97a8b5dab8cce5865fe7a4dc031a30a1d6cbe253100acc27ad1635a1723f92be08ac7ca30a&s_url=http%3A%2F%2Fw.qq.com%2Fproxy.html%3Flogin2a%3D1%26webqq_type%3D10&f_url=&ptlang=2052&ptredirect=100&aid=501004106&daid=164&j_later=0&low_login_hour=0®master=0&pt_login_type=3&pt_aid=0&pt_aaid=16&pt_light=0&pt_3rd_aid=0','0','登录成功!', 'Koow');
里的url时候,加入到请求Cookie中,
这个url也会响应一些东西,保存Cookie里的p_skey,pt2gguin,p_uin,pt4_token
下一步,获取VFwebqq
如下图所示,注意要携带请求头部Referer,Cookie带上保存好的ptwebqq参数,最后在返回的json中找到vfwebqq并保存
获取uin和psessionid,代码如下图所示
在火狐里看到的是:
请求这个地址,保存响应头部的uin和psessionid,以备后续使用,在这里要注意的是,这一步是post请求,除了携带必须的
Cookie和Referer外,还必须携带Origin,并且传递表单数据ptwebqq为之前保存的参数,另外三个写死不变
在获取到uin和psessionid的时候,其实你已经登陆成功了,但是会在获取消息的时候报103错误,这个错误有两种方法解决
第一种就是每次报这错误时登陆一下官方的web qq,就可以解决,第二种方法比较简洁,如下所示
注意传递的参数,他在火狐中显示如下图
还是注意请求头部的Cookie与Referer,Cookie中携带之前保存的参数 Vfwebqq,Client_ID,Psessionid
做完以上步骤,你的登录就已经完成了