微信网页版协议分析(2)-获取信息
优采云 发布时间: 2022-09-16 09:44微信网页版协议分析(2)-获取信息
1.微信初始化请求(post):
%252FwIBMVULe3KHPVyvDqw1%252B4DVVu9McVvE2d5fL7LFOfa4iYnk这个请求会获取联系人信息、公众号信息、自己的账号信息
请求头:
Content-Type:application/json;charset=UTF-8
提交数据(json):
{<br /> "BaseRequest": {<br /> "Uin": "566148615",<br /> "Sid": "jSsRlGGPyY7U8det",<br /> "Skey": "@crypt_14ae1b12_b73ba2673448154847d7007a2de3c53b",<br /> "DeviceID": "e119795675188164"<br /> }<br />}<br />Uin、Sid、Skey 登录后获取的xml中的数据<br />DeviceID 是e + 随机数
返回数据(json,用户的好友信息):
{<br /> "BaseResponse": {<br /> "Ret": 0,<br /> "ErrMsg": ""<br /> },<br /> "Count": 11,<br /> "ContactList": [...], //联系人信息、公众号信息、群<br /> "SyncKey": {<br /> "Count": 4,<br /> "List": [<br /> {<br /> "Key": 1,<br /> "Val": 635705559<br /> },<br /> ... //同步key值,下次请求时要写到上<br /> ]<br /> },<br /> "User": {<br /> "Uin": xxx,<br /> "UserName": xxx,<br /> "NickName": xxx,<br /> "HeadImgUrl": xxx,<br /> "RemarkName": "",<br /> "PYInitial": "",<br /> "PYQuanPin": "",<br /> "RemarkPYInitial": "",<br /> "RemarkPYQuanPin": "",<br /> "HideInputBarFlag": 0,<br /> "StarFriend": 0,<br /> "Sex": 1,<br /> "Signature": "Apt-get install B",<br /> "AppAccountFlag": 0,<br /> "VerifyFlag": 0,<br /> "ContactFlag": 0,<br /> "WebWxPluginSwitch": 0,<br /> "HeadImgFlag": 1,<br /> "SnsFlag": 17<br /> },<br /> "ChatSet": "xxx",<br /> "SKey": "@crypt_14ae1b12_b73ba2673448154847d7007a2de3c53b",<br /> "ClientVersion": 369302288,<br /> "SystemTime": 1476608977,<br /> "GrayScale": 1,<br /> "InviteStartCount": 40,<br /> "MPSubscribeMsgCount": 7,<br /> "ClickReportInterval": 600000<br />}
2.webwxstatusnotify通知消息已读(post):
%252B54GwlW0IEiwYOsm6II%252F8W57y0pF1F8fqS%252B5z4INU5客户端读取消息后要发起请求,告诉服务器消息已经读取,从而通知手机客户端
参数
pass_ticket 登录请求返回的xml中的值
请求头:
Content-Type:application/json;charset=UTF-8
提交数据(json):
{<br /> "BaseRequest": {<br /> "Uin": 566148615,<br /> "Sid": "EKjoZCMRIvrY7NIP",<br /> "Skey": "@crypt_14ae1b12_f59314a579c67b15f838d09feb79c17f",<br /> "DeviceID": "e098855372553243"<br /> },<br /> "Code": 3,<br /> "FromUserName": 自己ID, <br /> "ToUserName": 自己ID, <br /> "ClientMsgId": 时间戳<br />}
返回数据(json):
{<br /> "BaseResponse": {<br /> "Ret": 0,<br /> "ErrMsg": ""<br /> },<br /> "MsgID": "1525762281689643050"<br />}
3.获取联系人信息列表(get):
%252B54GwlW0IEiwYOsm6II%252F8W57y0pF1F8fqS%252B5z4INU5&r=49&seq=0&skey=@crypt_14ae1b12_f59314a579c67b15f838d09feb79c17f
参数
pass_ticket 登录请求中返回xml中获取<br />seq=0 固定值即可<br />skey 初始化请求中获取
返回数据(json):
{<br /> "BaseResponse": {<br /> "Ret": 0,<br /> "ErrMsg": ""<br /> },<br /> "MemberCount": 637,<br /> "MemberList": [<br /> {<br /> "Uin": 0,<br /> "UserName": xxx,<br /> "NickName": "LbbNiu",<br /> "HeadImgUrl": xxx,<br /> "ContactFlag": 3,<br /> "MemberCount": 0,<br /> "MemberList": [],<br /> "RemarkName": "",<br /> "HideInputBarFlag": 0,<br /> "Sex": 0,<br /> "Signature": "IT全才-LbbNiu",<br /> "VerifyFlag": 8,<br /> "OwnerUin": 0,<br /> "PYInitial": "LbbNiu",<br /> "PYQuanPin": "LbbNiu",<br /> "RemarkPYInitial": "",<br /> "RemarkPYQuanPin": "",<br /> "StarFriend": 0,<br /> "AppAccountFlag": 0,<br /> "Statues": 0,<br /> "AttrStatus": 0,<br /> "Province": "",<br /> "City": "",<br /> "Alias": "Urinxs",<br /> "SnsFlag": 0,<br /> "UniFriend": 0,<br /> "DisplayName": "",<br /> "ChatRoomId": 0,<br /> "KeyWord": "gh_",<br /> "EncryChatRoomId": ""<br /> }<br /> ....//联系人列表<br /> ],<br /> "Seq": 0<br />}
4.webwxbatchgetcontact获取聊天会话列表信息(post):
%252B54GwlW0IEiwYOsm6II%252F8W57y0pF1F8fqS%252B5z4INU5
参数
type=ex 固定值即可<br />r 当前时间戳<br />pass_ticket 登录请求中返回xml中获取
请求头:
Content-Type:application/json;charset=UTF-8
提交数据(json):
{<br /> "BaseRequest": {<br /> "Uin": 566148615,<br /> "Sid": "EKjoZCMRIvrY7NIP",<br /> "Skey": "@crypt_14ae1b12_f59314a579c67b15f838d09feb79c17f",<br /> "DeviceID": "e316575061818116"<br /> },<br /> "Count": 7,<br /> "List": [<br /> {<br /> "UserName": "@@e2da072e5beda58413f788fd2978b6f9fbde2ba337a71f02e1458958fcdb8371", //去要获取的群UserName<br /> "ChatRoomId": ""<br /> }…<br /> ]<br />}
返回数据(json):
{<br /> "BaseResponse": {<br /> "Ret": 0,<br /> "ErrMsg": ""<br /> },<br /> "Count": 7,<br /> "ContactList": [<br /> ]<br />}
5.同步刷新(get轮询):
%40crypt_14ae1b12_f59314a579c67b15f838d09feb79c17f&sid=EKjoZCMRIvrY7NIP&uin=566148615&deviceid=e673682280871456&synckey=1_643606091%7C2_643606203%7C3_643606171%7C11_643605834%7C13_643590001%7C201_1476611120%7C1000_1476610779%7C1001_1476590971%7C1004_1475896795&_=40
参数
r 时间戳<br />skey 初始化信息中获取<br />sid 登录请求中返回xml中获取<br />uin 登录请求中返回xml中获取<br />synckey 初始化信息中获取<br />deviceid 设备id<br />_ 时间戳
返回数据:
window.synccheck={retcode:"0",selector:"2"}<br />retcode:<br /> 0 正常<br /> 1100 失败/登出微信<br />selector:<br /> 0 正常<br /> 2 新的消息<br /> 4 通过时发现,删除好友<br /> 6 删除时发现和对方通过好友验证<br /> 7 进入/离开聊天界面 (可能没有了)
6.获取消息(post,cookie):
+C*敏*感*词*YTiiI2zk&skey=@crypt_14ae1b12_1bb5e370393b8cd502919825fe9dbfc0&lang=zh_CN&pass_ticket=tM909DkHH8fXLR7hhwIgn9MqmSuCxx6%252BcdaA9qE203zxP7fMT%252FtxPlY7opbnnVE2
参数
pass_ticket 登录请求中返回xml中获取<br />r 时间戳<br />skey 初始化信息中获取<br />sid 登录请求中返回xml中获取<br />lang=zh_CN 语言类型
请求头:
Content-Type:application/json;charset=UTF-8
提交数据(json):
{<br /> "BaseRequest":{<br /> "Uin":566148615,<br /> "Sid":"2qui+C*敏*感*词*YTiiI2zk",<br /> "Skey":"@crypt_14ae1b12_1bb5e370393b8cd502919825fe9dbfc0",<br /> "DeviceID":"e151332185497293"<br /> },<br /> "SyncKey":{<br /> "Count":9,<br /> "List":[<br /> {"Key":1,"Val":643606091},<br /> {"Key":2,"Val":643606236},<br /> {"Key":3,"Val":643606171},<br /> {"Key":11,"Val":643606232},<br /> {"Key":13,"Val":643590001},<br /> {"Key":203,"Val":1476612126},<br /> {"Key":1000,"Val":1476610779},<br /> {"Key":1001,"Val":1476590971},<br /> {"Key":1004,"Val":1475896795}<br /> ]<br /> },<br /> "rr":856481324<br />}<br />
返回数据(json):
{<br /> "BaseResponse": {<br /> "Ret": 0,<br /> "ErrMsg": ""<br /> },<br /> "AddMsgCount": 1,<br /> "AddMsgList": [<br /> {<br /> "MsgId": "8410419333108271670",<br /> "FromUserName": "@595d9f44c64e2f480baa0d6430ca58ef053a768daa6d7b3fc*敏*感*词*bece244bcbce3",<br /> "ToUserName": "@e5403f77c2193da671790c1a242d0b43ac6f570e5047993ef745d13d6376b57b",<br /> "MsgType": 51,<br /> "Content": "<msg>
<op id='5'>
<username>wxid_e602if1itlm821</username>
</op>
</msg>",<br /> "Status": 3,<br /> "ImgStatus": 1,<br /> "CreateTime": 1476612570,<br /> "VoiceLength": 0,<br /> "PlayLength": 0,<br /> "FileName": "",<br /> "FileSize": "",<br /> "MediaId": "",<br /> "Url": "",<br /> "AppMsgType": 0,<br /> "StatusNotifyCode": 5,<br /> "StatusNotifyUserName": "@e5403f77c2193da671790c1a242d0b43ac6f570e5047993ef745d13d6376b57b",<br /> "RecommendInfo": {<br /> "UserName": "",<br /> "NickName": "",<br /> "QQNum": 0,<br /> "Province": "",<br /> "City": "",<br /> "Content": "",<br /> "Signature": "",<br /> "Alias": "",<br /> "Scene": 0,<br /> "VerifyFlag": 0,<br /> "AttrStatus": 0,<br /> "Sex": 0,<br /> "Ticket": "",<br /> "OpCode": 0<br /> },<br /> "ForwardFlag": 0,<br /> "AppInfo": {<br /> "AppID": "",<br /> "Type": 0<br /> },<br /> "HasProductId": 0,<br /> "Ticket": "",<br /> "ImgHeight": 0,<br /> "ImgWidth": 0,<br /> "SubMsgType": 0,<br /> "NewMsgId": 8410419333108272000<br /> }<br /> ],<br /> "ModContactCount": 0,<br /> "ModContactList": [],<br /> "DelContactCount": 0,<br /> "DelContactList": [],<br /> "ModChatRoomMemberCount": 0,<br /> "ModChatRoomMemberList": [],<br /> "Profile": {<br /> "BitFlag": 0,<br /> "UserName": {<br /> "Buff": ""<br /> },<br /> "NickName": {<br /> "Buff": ""<br /> },<br /> "BindUin": 0,<br /> "BindEmail": {<br /> "Buff": ""<br /> },<br /> "BindMobile": {<br /> "Buff": ""<br /> },<br /> "Status": 0,<br /> "Sex": 0,<br /> "PersonalCard": 0,<br /> "Alias": "",<br /> "HeadImgUpdateFlag": 0,<br /> "HeadImgUrl": "",<br /> "Signature": ""<br /> },<br /> "ContinueFlag": 0,<br /> "SyncKey": {<br /> "Count": 10,<br /> "List": [<br /> {<br /> "Key": 1,<br /> "Val": 643606091<br /> }<br /> ..... //同步key<br /> ]<br /> },<br /> "SKey": "",<br /> "SyncCheckKey": {<br /> "Count": 10,<br /> "List": [<br /> {<br /> "Key": 1,<br /> "Val": 643606091<br /> }<br /> ..... //同步检测消息key<br /> ]<br /> }<br />}
7.webwxstatreport(post):
登录前和登录后都有,可能是用来统计用的,不影响其他获取信息,暂时不用对次请求进行处理
请求头:
Content-Type:application/json;charset=UTF-8
源代码地址:
代码仅供个人研究学习参考,不的用于商业,接口归微信所有。
接下来还会有消息接口和好友群操作的分析,尽请期待