微信应用:微信网页版协议分析 资料整理
小标 2018-05-29 来源 : 阅读 3845 评论 0

摘要:本文主要向大家介绍了微信应用,微信网页版协议分析以及资料的整理,希望对大家学习微信应用有所帮助。

本文主要向大家介绍了微信应用,微信网页版协议分析以及资料的整理,希望对大家学习微信应用有所帮助。

接口的调用步骤:
1、jslogin获取token生成二维码,然后登录状态轮循 login接口;用户扫描后会返回用户头像,可以替换掉二维码表示用户已经扫描过(此时还没有在手机上确认登录)
2、确认登录后,获取cookie webwxnewloginpage
3、初始化,获取密钥 webwxinit
4、报告自己的状态 webwxstatusnotify
5、轮循检查最新消息 synccheck,此时会selector==2。大约每隔25秒检查1次(感觉是服务器端hold住)
6、获取所有联系人 webwxgetcontact
7、获取一批12个联系人详情 webwxbatchgetcontact(此接口可以传递单个用户或群聊的username参数)
8、根据synccheck的结果,获取最近联系人和未读消息列表的 同步消息 webwxsync, MsgType==51
9、批量获取33个联系人详情 webwxbatchgetcontact
10、报告状态 webwxstatreport ,每隔10分钟汇报1次 (主要用于网页执行速度的性能时间统计,貌似可以不用提交)
11、批量获取2个联系人详情 webwxbatchgetcontact

其它注意事项:
1、进入聊天室要发webwxstatusnotify消息,和批量获取用户详情webwxbatchgetcontact;进入单聊不需要以上操作;
2、用户的username每次重新登录都会变化,如何识别同一个用户是个问题,建议用Alias+KeyWord+PYInitial+PYQuanPin,webwxbatchgetcontact接口还会返回 RemarkPYInitial,RemarkPYQuanPin也可以用上?
3、webwxstatreport报告要定期调用,否则会超期?
4、头像要异步加载,同时要传递cookie
5、微信各接口返回的数据格式的比较乱,有js,json,xml,不知微信怎么想的,为何不统一,另外输出也没定义charset头信息,导致在chrome develop tool上显示出乱码(据说firefox里不会乱码)
6、消息类型有: 1 文字 3 图片 51 最新有状态变化的帐号(公众号,微信id,群聊id等,可能值有1 2 5等,感觉像是进入了群聊、查看了公众号属性等操作就会发出op消息【待测试确认】,op id==2表示打开过了群?op id==5表示离开群?iOS设备才有此消息,安卓没有此消息)  10000 添加到群/移除出群的通知 49 公众号文章 43 语音 10002 消息撤回(op消息时,StatusNotifyUserName同时有值,表示通知的对象,一般是群帐号),47 GIF动画图
7、群聊时:群主发消息时,FromUserName是群主,ToUserName是群帐号;其他成员发消息时反过来了,ToUserName是成员帐号,FromUserName是群帐号。如何区分两者?成员发的消息内容Content里是以@xxxx<br/>内容(@后面的编码是群成员帐号),群主发的没有此前缀。
8、webwxnewloginpage登录时设置的cookie超期时间是12小时,如果保持一直在登录状态在后台运行是个问题?

完整消息类型:

MSGTYPE_TEXT: 1,MSGTYPE_IMAGE: 3,MSGTYPE_VOICE: 34,MSGTYPE_VIDEO: 43,MSGTYPE_MICROVIDEO: 62,MSGTYPE_EMOTICON: 47,MSGTYPE_APP: 49,MSGTYPE_VOIPMSG: 50,MSGTYPE_VOIPNOTIFY: 52,MSGTYPE_VOIPINVITE: 53,MSGTYPE_LOCATION: 48,MSGTYPE_STATUSNOTIFY: 51,MSGTYPE_SYSNOTICE: 9999,MSGTYPE_POSSIBLEFRIEND_MSG: 40,MSGTYPE_VERIFYMSG: 37,MSGTYPE_SHARECARD: 42,MSGTYPE_SYS: 10000,MSGTYPE_RECALLED: 10002,  // 撤销消息

分析自官网js的接口 

API_webwxdownloadmedia: 'https://' + o + '/cgi-bin/mmwebwx-bin/webwxgetmedia',API_webwxuploadmedia: 'https://' + o + '/cgi-bin/mmwebwx-bin/webwxuploadmedia',API_webwxpreview: '/cgi-bin/mmwebwx-bin/webwxpreview',API_webwxinit: '/cgi-bin/mmwebwx-bin/webwxinit?r=' + ~new Date,API_webwxgetcontact: '/cgi-bin/mmwebwx-bin/webwxgetcontact',API_webwxsync: '/cgi-bin/mmwebwx-bin/webwxsync',API_webwxbatchgetcontact: '/cgi-bin/mmwebwx-bin/webwxbatchgetcontact',API_webwxgeticon: '/cgi-bin/mmwebwx-bin/webwxgeticon',API_webwxsendmsg: '/cgi-bin/mmwebwx-bin/webwxsendmsg',API_webwxsendmsgimg: '/cgi-bin/mmwebwx-bin/webwxsendmsgimg',API_webwxsendemoticon: '/cgi-bin/mmwebwx-bin/webwxsendemoticon',API_webwxsendappmsg: '/cgi-bin/mmwebwx-bin/webwxsendappmsg',API_webwxgetheadimg: '/cgi-bin/mmwebwx-bin/webwxgetheadimg',API_webwxgetmsgimg: '/cgi-bin/mmwebwx-bin/webwxgetmsgimg',API_webwxgetmedia: '/cgi-bin/mmwebwx-bin/webwxgetmedia',API_webwxgetvideo: '/cgi-bin/mmwebwx-bin/webwxgetvideo',API_webwxlogout: '/cgi-bin/mmwebwx-bin/webwxlogout',API_webwxgetvoice: '/cgi-bin/mmwebwx-bin/webwxgetvoice',API_webwxupdatechatroom: '/cgi-bin/mmwebwx-bin/webwxupdatechatroom',API_webwxcreatechatroom: '/cgi-bin/mmwebwx-bin/webwxcreatechatroom',API_webwxstatusnotify: '/cgi-bin/mmwebwx-bin/webwxstatusnotify',API_webwxcheckurl: '/cgi-bin/mmwebwx-bin/webwxcheckurl',API_webwxverifyuser: '/cgi-bin/mmwebwx-bin/webwxverifyuser',API_webwxfeedback: '/cgi-bin/mmwebwx-bin/webwxsendfeedback',API_webwxreport: '/cgi-bin/mmwebwx-bin/webwxstatreport',API_webwxsearch: '/cgi-bin/mmwebwx-bin/webwxsearchcontact',API_webwxoplog: '/cgi-bin/mmwebwx-bin/webwxoplog'

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发微信频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 3 不喜欢 | 0
看完这篇文章有何感觉?已经有3人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved