模拟web微信收发消息
web微信同步消息的流程总共有三个请求:


1, get请求,
url:https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxgetcontact?lang=zh_CN&pass_ticket=OVZilalVdLYsS6X%2BIW8t3zjgJz6SggiGbeEcdC1NfrFSqVetbaCfHTRYNW3gFW7%2F&r=1540090897719&seq=0&skey=@crypt_b00fa22a_bd0d1f16458a8452daea977554975b07)
url中相关参数 (synckey来源于登陆时返回值)

返回值:window.synccheck={retcode:"0",selector:"2"}
2,post请求
url:https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=e6iLt40WwSO6jbNR&skey=@crypt_b00fa22a_bd0d1f16458a8452daea977554975b07&lang=zh_CN&pass_ticket=OVZilalVdLYsS6X%2BIW8t3zjgJz6SggiGbeEcdC1NfrFSqVetbaCfHTRYNW3gFW7%2F
提交数据:

返回值: (返回值中SyncKey在第一个get请求的基础上进行了更新,需要保存下来,构造第三个请求)

3,get请求:(此处的返回值不同于第一个请求,若一直没有收到消息,该请求会一直发送下去,若收到消息时返回值会变成和第一次请求相同,即window.synccheck={retcode:"0",selector:"2"})
url: https://webpush.wx2.qq.com/cgi-bin/mmwebwx-bin/synccheck?r=1540090900774&skey=@crypt_b00fa22a_bd0d1f16458a8452daea977554975b07&sid=e6iLt40WwSO6jbNR&uin=2249083323&deviceid=e654071003679702&synckey=1_680748905|2_680750154|3_680750119|11_680749367|201_1540090905|1000_1540076882|1001_1540076953&_=1540090873275
url中参数:(synckey来源于第二步返回值)

返回值:window.synccheck={retcode:"0",selector:"0"}
(若一直没有消息时继续发送,到有消息时返回值为window.synccheck={retcode:"0",selector:"2"},处理消息后继续发送请求,不停循环下去)

浙公网安备 33010602011771号