最近有一個朋友讓我幫他弄微信羣直播的東西,大概研究了一下這個東西。微信機器人的製作的接口來源於網頁版,只不過將原來的人工發送數據修改爲機器自己發送,網頁展示的東西全部通過接口獲取。需要解決這個問題我們首先需要知道網頁版的微信哪些接口可以用。我們首先需要解決第一個問題,微信網頁版登錄接口。
關鍵詞:微信網頁版api、微信機器人、微信羣直播、微信登錄。
微信登錄有以下四步:
第一步:獲取uuid
說明:獲取uuid,用戶可以通過uuid獲取掃描二維碼
url:https://login.weixin.qq.com/jslogin
獲取方式:get
參數說明
參數 | 值 | 說明 |
appid | wx782c26e4c19acffb | 固定值 |
fun | new | 固定值 |
lang | zh_CN | 表示中文字符集 |
返回:
"window.QRLogin.code = 200; window.QRLogin.uuid = \"4ZefnEIuw==\";"
例:
https://login.weixin.qq.com/jslogin?appid=wx782c26e4c19acffb&fun=new&lang=zh_CN
第二步:獲取二維碼
說明:通過uuid獲取二維碼圖片地址
url:https://login.weixin.qq.com/qrcode/
獲取方式:get
參數說明
參數 | 值 | 說明 |
t | webwx | 固定值 |
返回:二維碼圖片地址地址(用戶可以通過微信掃描)
例:
https://login.weixin.qq.com/qrcode/4ZefnEIuy==?t=webwx
第三步:獲取登錄狀態。
說明:輪詢獲取登錄公參
url:https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login
獲取方式:get
參數說明:
參數 | 值 | 說明 |
uuid | 4ZefnEIuy== | 前面獲取的uuid |
tip | 1 |
返回:
參數 | 值 | 說明 |
windows.code | 200 | 狀態返回:200表示正確,201表示已掃描未點擊登錄,408未掃碼 |
windows.redirect | url | 用於直接登錄 |
window.code=200;window.redirect="url";
"window.code=200;\nwindow.redirect_uri=\"https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=A39qi38g6BY6FImQHLwBHV@qrticket_0&uuid=gZCB7ANA==&lang=zh_CN&scan=1583326159\";"
第四步:獲取登錄信息
說明:訪問window.redirect返回的url。
訪問方式:get
注意:這裏使用一般的get方法提取數據可能微信會提示你,請升級瀏覽器,或者是“網頁版微信需要使用瀏覽器Cookie來幫助你登錄,以便運行網頁版應用程序。”
返回:
<error>
<ret>0</ret>
<message/>
<skey>@crypt_7fbc9aef_395d1ceda6b0b4be96313079fd</skey>
<wxsid>D0Sw66KnZfcLy</wxsid>
<wxuin>2874539360</wxuin>
<pass_ticket>yHgFwWtvqu29HHhSohkwVAcnBdomnGrUPVADSTZcZFbOU2ZKgQUor</pass_ticket>
<isgrayscale>1</isgrayscale>
</error>
保存數據
skey,wxsid,wxuni,pass_ticket的值,當你獲取到這個說明你的的登錄已經完成了