Web QQ API 分析
Web QQ協議分析
本文信息 站在前人的肩膀上 。
本文信息 不定期更新
前言
對Web QQ協議的一些看法
版本
2015年12月版本的Web QQ協議
Api 數據來源
基本上都是通過Chrome控制臺對Smart QQ進行抓包得到的
公共約定:
登錄
獲取cookie,用戶登錄邏輯的模擬。
目標參數
- ptwebqq:保存在Cookie中的鑒權信息
- vfwebqq:類似于Token的鑒權信息
- psessionid:類似于SessionId的鑒權信息
- clientid:設備id,為固定值53999199
- uin: 登錄用戶id(其實就是當前登錄的QQ號)
登陸流程
流程 1 獲取二維碼
method: Get
url: https://ssl.ptlogin2.qq.com/ptqrshow?appid=501004106&e=0&l=M&s=5&d=72&v=4&t=0.1
return: 二維碼圖片 (PNG)
流程 2 獲取二維碼掃描狀態
method: Get
url: https://ssl.ptlogin2.qq.com/ptqrlogin?webqq_type=10&remember_uin=1&login2qq=1&aid=501004106 &u1=http%3A%2F%2Fw.qq.com%2Fproxy.html%3Flogin2qq%3D1%26webqq_type%3D10 &ptredirect=0&ptlang=2052&daid=164&from_ui=1&pttype=1&dumy=&fp=loginerroralert &action=0-0-157510&mibao_css=m_webqq&t=1&g=1&js_type=0&js_ver=10143&login_sig=&pt_randsalt=0
referer: https://ui.ptlogin2.qq.com/cgi-bin/login?daid=164&target=self&style=16&mibao_css=m_webqq&appid=501004106&enable_qlogin=0&no_verifyimg=1 &s_url=http%3A%2F%2Fw.qq.com%2Fproxy.html&f_url=loginerroralert &strong_login=1&login_state=10&t=20131024001
return:
- 掃描前 & 未失效
ptuiCB('66','0','','0','二維碼未失效。(3203423232)','');
- 掃描前 & 已失效
ptuiCB('65','0','','0','二維碼已失效。(4012918406)', '');
-掃描后 & 認證前
ptuiCB('66','0','','0','二維碼認證中。(3203423232)','');
-認證后
ptuiCB('66','0','','0','http://ptlogin4.web2.qq.com/check_sig?xxxxxx','');
- 掃描前 & 已失效
這個請求可以直接輪訓請求,直到認證成功后,將返回的地址保存下來用作下次請求。
流程 3 獲取 ptwebqq
method: Get
url: 流程 2 返回的 url
referer: http://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1
成功后
- HTTP 狀態碼 302
- 存儲 cookie ptwebqq
流程 4 獲取 vfwebqq
method: Get
url: http://s.web2.qq.com/api/getvfwebqq?ptwebqq=#{ptwebqq}&clientid=53999199&psessionid=&t=0.1
referer: http://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1
url中需要填入上一步獲取到的ptwebqq,請求成功后會返回一個JSON,將result.vfwebqq保存下來。
流程 5 獲取 psessionid & uin
method: Get
url: http://d1.web2.qq.com/channel/login2
referer: http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2
表單數據只有一個,Key為 r
Value (JSON)
{"ptwebqq": "#{ptwebqq}","clientid": 53999199,"psessionid": "","status": "online", } > 動態參數 `ptwebqq` > 儲存 `result.uin` & `result.psessionid` > 返回值 `result.vfwebqq` 無用 > 成功后有效期約2天,Web QQ 允許多頁面同時在線但會出現接口沖突資料獲取 todo
消息收發 todo
其他 todo
來源
- http://www.scienjus.com/webqq-analysis-1
- http://www.scienjus.com/webqq-analysis-2
- http://www.scienjus.com/webqq-analysis-3
- http://www.scienjus.com/webqq-analysis-4
- http://www.scienjus.com/webqq-analysis-5
總結
以上是生活随笔為你收集整理的Web QQ API 分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【饭谈】软素质怎么提高?(适合软件测试人
- 下一篇: 原来3DMAX入门应该这样学!