想起来weixin桌面版本,只需要第一次扫二维码登陆,后续不清系统的,
直接点击个登陆按键就可以了,不知道这是什么机制,能否纳入到协议中来呢?
2015-09-21 微信故障,网页版API拿不到Uin,不知道是永久的还是暂时的? 看来是更新客户端了,Uin一直是0了,不变了。
网页版微信功能只有一个:聊天。根据 Copyright (C) 狼夜我这两天研究发现, 网页版微信可以脱离手机微信,也就是手机微信退出、手机关机,都不影响网页端微信的 在线以及聊天,关于如何使用加好友、朋友圈、摇一摇功能,我有个思路就是抓手机封包 @Icenowy 在微博上有抓手机包的计划 然后使用,不过这个想法因为时间问题没有去实践, 希望大家能研究出来的话在本页面留一个链接,十分感谢!
以下是Post/Get的封包大全,如果能看懂这个,基本上你就可以做出来了。
这一步中,需要从cookie获取这三个值,wxuin, wxsid, webwx_data_ticket
需要在response中获取这一个值,pass_ticket
https://login.weixin.qq.com/qrcode/{$uuid}?t=webwx
https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=1&_=1388975894359
https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=1&_=1388975873359
https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=1&_=1388975883859
window.code=201;
window.code=200;
window.code=408
window.code=400
这时需要从头开始,重新执行流程。
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxstatreport?type=1&r=1388975895453
{"BaseRequest":{"Uin":0,"Sid":0},"Count":1,"List":[{"Type":1,"Text":"/cgi-bin/mmwebwx-bin/login, First Request Success, uuid: 454d958c7f6243"}]}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxstatreport?type=1&r=1388975895453
{"BaseRequest":{"Uin":0,"Sid":0},"Count":1,"List":[{"Type":1,"Text":"/cgi-bin/mmwebwx-bin/login, Second Request Start, uuid: 454d958c7f6243"}]}
https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=0&_=1388975895453
https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=0&_=1388975900953
https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=0&_=1388975906453
https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=0&_=1388975911953
window.code=200;
window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=03f725a8039d418ab79c69b6ffbd771b&lang=zh_CN&scan=1388975896";
获取登陆所有cookie的访问,需要在该URL基础上添加参数: &fun=new&version=v2
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxstatreport?type=1&r=1388976086218
{"BaseRequest":{"Uin":0,"Sid":0},"Count":1,"List":[{"Type":1,"Text":"/cgi-bin/mmwebwx-bin/login, Second Request Success, uuid: 454d958c7f6243, time: 190765ms"}]}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxinit?r=1388976086484
DeviceID 是e + 随机数
{"BaseRequest":{"Uin":"750366800","Sid":"e75TXbI7TnKUevmI","Skey":"","DeviceID":"e519062714508114"}}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=1388976086734
{"BaseRequest":{"Uin":750366800,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":4,"List":[{"Key":1,"Val":620916854},{"Key":2,"Val":620917961},{"Key":3,"Val":620917948},{"Key":1000,"Val":1388967977}]},"rr":1388976086734}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetcontact?r=1388976086734
{}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxstatusnotify?r=1388976086750
{"BaseRequest":{"Uin":750366800,"Sid":"e75TXbI7TnKUevmI","Skey":"","DeviceID":"e519062714508114"},"Code":3,"FromUserName":"langyeie","ToUserName":"langyeie","ClientMsgId":"1388976086750"}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgeticon?seq=1388335457&username=langyeie
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgeticon?seq=620917759&username=wxid_xx3mtgeux5511
应该是获取wx群成员信息。在webwxinit正确返回后,逐个获取每个wx群的成员联系人信息。
参数:Count 最大50,如果一个群组人超过50,则需要分多次获取。
{"BaseRequest":{"Uin":979270107,"Sid":"u/kOgmTvxB4z+JXa","Skey":"@crypt_3ea2fe08_3e4ced233d812cc841a3fab5b3f1ca8b" ,"DeviceID":"e636182931708129"},"Count":6,"List":[{"UserName":"@1502b925d9437c23efb37032f659df57","EncryChatRoomId" :"@@77d919fac8bb4cd3b4cb56f12b1512c0d3ac1b8884e97d558096ddb7b87aa2b9"},{"UserName":"@f36e87e70ab243ad6c77286351dda159" ,"EncryChatRoomId":"@@77d919fac8bb4cd3b4cb56f12b1512c0d3ac1b8884e97d558096ddb7b87aa2b9"},{"UserName" :"@59c5871ee15417771ce99dc6cd99727dfdd4e698aef8ff0ca36c333ff44c4202","EncryChatRoomId":"@@77d919fac8bb4cd3b4cb56f12b1512c0d3ac1b8884e97d558096ddb7b87aa2b9" },{"UserName":"@904b8cc29872a83fb6bde6c4776b711a","EncryChatRoomId":"@@77d919fac8bb4cd3b4cb56f12b1512c0d3ac1b8884e97d558096ddb7b87aa2b9" },{"UserName":"@da0af1a08aad98d3acd9a6a3164389b36c494d865900d39c50ef480d29cc8296","EncryChatRoomId":" @@77d919fac8bb4cd3b4cb56f12b1512c0d3ac1b8884e97d558096ddb7b87aa2b9"},{"UserName":"@fffed55b50bb48f9f62d751bac389545be5bf40996ac493959e9404a1652617f" ,"EncryChatRoomId":"@@77d919fac8bb4cd3b4cb56f12b1512c0d3ac1b8884e97d558096ddb7b87aa2b9"}]}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetheadimg?seq=620917806&username=3445229833chatroom@
window.synccheck={retcode:"0",selector:"0"}
没有消息,监听会话正常。
selector > 0,表示有新消息,但消息类型目前不知道。应该都需要使用websync接收吧。
window.synccheck={retcode:"0",selector:"1"}
好像有时是群组更新,有时像是用户配置项变化。不太确定。
window.synccheck={retcode:"0",selector:"5"}
window.synccheck={retcode:"0",selector:"7"}
好像是在手机上退出网页登陆信息。还可能包括打开了某项,如群,好友,是一个事件,
7 进入/离开好友聊天界面。
window.synccheck={retcode:"0",selector:"6"}
红包消息?
window.synccheck={retcode:"0",selector:"2"}
window.synccheck={retcode:"0",selector:"4"}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=1388977398062
{"BaseRequest":{"Uin":750366800,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":5,"List":[{"Key":1,"Val":620916854},{"Key":2,"Val":620917978},{"Key":3,"Val":620917975},{"Key":201,"Val":1388977392},{"Key":1000,"Val":1388967977}]},"rr":1388977398062}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=1388977583250
{"BaseRequest":{"Uin":750366800,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":5,"List":[{"Key":1,"Val":620916854},{"Key":2,"Val":620917980},{"Key":3,"Val":620917975},{"Key":201,"Val":1388977400},{"Key":1000,"Val":1388967977}]},"rr":1388977583250}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=1388977660750
{"BaseRequest":{"Uin":750366800,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":5,"List":[{"Key":1,"Val":620916854},{"Key":2,"Val":620917982},{"Key":3,"Val":620917975},{"Key":201,"Val":1388977585},{"Key":1000,"Val":1388967977}]},"rr":1388977660750}
返回值: 0: 正常返回消息结果 -1: ???
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsendmsg?sid=e75TXbI7TnKUevmI&r=1388977830140
{"BaseRequest":{"Uin":750366800,"Sid":"e75TXbI7TnKUevmI","Skey":"D6EBA5FA425CAE258F24E75CF51F2E1B4EEA9C5338BE456C","DeviceID":"e519062714508114"},"Msg":{"FromUserName":"langyeie","ToUserName":"pp80000","Type":1,"Content":"55","ClientMsgId":1388977830140,"LocalID":1388977830140}}
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=1388977830390
{"BaseRequest":{"Uin":750366800,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":5,"List":[{"Key":1,"Val":620916854},{"Key":2,"Val":620917986},{"Key":3,"Val":620917975},{"Key":201,"Val":1388977776},{"Key":1000,"Val":1388967977}]},"rr":1388977830390}
https://res.wx.qq.com/zh_CN/htmledition/swf/msg17ced3.mp3
缩略图: https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxgetmsgimg?type=slave&MsgID={MsgID值}&skey=%40{skey值} 原图: https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxgetmsgimg?MsgID={MsgID值}&skey=%40{skey值}
另外, 如果在微信中收藏的图片地址为cdnurl:
'emoji fromusername = wxid_72ihdogv8ya621 tousername = wang1058056871 type=1 idbuffer=media:0_0 md5=63d404516886152038c15e22113d06c0 len = 19870 productid= androidmd5=63d404516886152038c15e22113d06c0 androidlen=19870 s60v3md5 = 63d404516886152038c15e22113d06c0 s60v3len=19870 s60v5md5 = 63d404516886152038c15e22113d06c0 s60v5len=19870 cdnurl = http://emoji.qpic.cn/wx_emoji/OlaTef8nbNwrx2yCBBaaictrcFZGbrDbEPFB96n3Rve8hjj0xCFpcyQ/ '
/cgi-bin/mmwebwx-bin/webwxgetvideo?type=flv&msgid={MsgID值}&skey={SKey值}
/cgi-bin/mmwebwx-bin/webwxgetvideo?fun=download&msgid={MsgID值}&skey={SKey值}
返回:
Content-Type:audio/mp3
这个url是可以不需要cookie,直接在客户端下载的。但是不知道是否有有效期。
weixin限制文件大小25M以内。
还有一种文件,消息类型同样为49,但是这种消息不包含MediaId,而是有Url字段,是一个普通HTML文档链接。
这种不再需要获取真实文件URL地址操作。这种类型消息,一般是订阅号推送的新闻文章。
2015-10-02
注,取文件机制也许是有变化了,文件链接已经无法直接下载,下载回来的文件大小总是0.
1100:???
失败/在手机上登出了微
1101:??? 会话已退出/结束
1101: selector=7时的websync返回,应该是会话退出。
在其他地方登录了 WEB 版微信?
1102: 用户在手机端主动退出
1205: ???