WEB微信协议详注(待续)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WEB微信协议详注(待续)相关的知识,希望对你有一定的参考价值。
当初写微信机器人也是为了个红包,虽然红包拿到了,过程还是蛮有意思的,下面给下详细说明。
微信入口主要有两个(wx和wx2),wx老号 wx2新号,我微信是老号了,为了测试方便采用的是老号入口。
1.入口抓包,获取uuid
开启浏览器F12功能,对https://wx.qq.com抓包,拿到我们需要的入口地址,获取uuid
参数说明:appid 固定值
redirect_uri 固定值
fun 固定值
lang 固定值
_ 标准时间戳
返回:
window.QRLogin.code = 200; window.QRLogin.uuid = "wZ1Pov3CSw==";
这一步拿到uuid,进而uuid拿到登陆用户头像
2.获取二维码
参数说明:
https://login.weixin.qq.com/qrcode/+uuid 其中uuid为上一步获取
此处需注意返回的二维码是jpg图像,在delpgi处理的时候转换处理
3.获取登陆用户头像
参数说明:
loginicon:true 固定值
返回:
window.code=201;window.userAvatar = 'data:img/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPD.......
window.code=200;
window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=Af-yYTSZi- [email protected]_0&uuid=wb1sJ27NXA==&lang=zh_CN&scan=1522165494";
window.code 登陆状态
201 扫码成功 ,此时可获取登陆用户头像,但是base64编码字符串
200 登陆成功 ,此时需获取ticket,sacn,下一步需要ticket和scan
408 超时
头像处理:
4.获取skey, wxsid, wxuin, pass_ticket
这一步最关键的是要注意返回的cookie信息,得保存cookie信息,后面取好友头像都需要;且需获取skey, wxsid, wxuin, pass_ticket留着下一步用,其中wxsid等同sid,wxuin等同uin
delphi中获取cookie:
5.WEB微信初始化 并且获取最近联系人信息
参数说明:
r 时间戳
DeviceID:"e556747131131712" e开头后面为15位随机数
返回:
此处可获取登陆用户的个人信息,其中UserName需保存留做下一步微信初始化;
此处需特别注意synckey这个json串,这个必须得处理,是后面心跳同步必须的参数。且synckey还得处理为这种形式:1_669512273|2_669514056|3_669513917|1000_1521781562。
6.开启微信状态通知
参数说明:
7.获取全部好友列表
参数说明:
以上是关于WEB微信协议详注(待续)的主要内容,如果未能解决你的问题,请参考以下文章