最近有一个朋友让我帮他弄微信群直播的东西,大概研究了一下这个东西。微信机器人的制作的接口来源于网页版,只不过将原来的人工发送数据修改为机器自己发送,网页展示的东西全部通过接口获取。需要解决这个问题我们首先需要知道网页版的微信哪些接口可以用。我们首先需要解决第一个问题,微信网页版登录接口。
关键词:微信网页版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的值,当你获取到这个说明你的的登录已经完成了