java web QQ(三)
在上述步驟中我們獲取到一個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
做完以上步驟,你的登錄就已經完成了
總結
以上是生活随笔為你收集整理的java web QQ(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新海诚没有参与制作的作品_全能的新海诚,
- 下一篇: VUE动态切换Button的icon