html模拟微信发送消息,关于微信公众平台模拟接收发送消息(无源码)

由于主要的部分都在模拟登录的时候讲掉了,我就快速而又简单的将接收消息和发送文字消息。

我们登录之后,进入实时消息页面,按一下F12打开“开发人员工具”,点击网络标签,点击开始捕获,可以看到

77c8bb56b30269ae77a4e51e976743e9.png

它一直在获取有没有新消息。双击某一条记录,进去看详细信息,这里除了请求标头还有cookie要注意一下之外,多了一个新东西,就是请求正文“token=1511255160&ajax=1”里的token,这是在登录成功消息里返回给我们的,在上一篇文章的最后一点提到过。那个地址里的lastmsgid=100000027我们可以一开始可以用1啊0啊什么的,下面再说。返回的消息是{"ret":"0", "totalMsgCount":"", "newTotalMsgCount":"0"},很明显,懂点英文的就知道newTotalMsgCount就是新消息数,我们判断它不等于0的时候,就去获取一下实时消息那个页面,为什么呢?

因为消息就藏在那个页面里面,并没有特别的“消息接口”。

[ {"id":"100000043","type":"1","fileId":"0","hasReply":"0","fakeId":"416353015","nickName":"天体图","remarkName":"","dateTime":"1374735114","icon":"","content":"哈哈哈","playLength":"0","length":"0","source":"","starred":"0","status":"4","subtype":"0","showType":"0","desc":"","title":"","appName":"","contentUrl":"","bcardNickName":"","bcardUserName":"","bcardFakeId":"0"}

, {"id":"100000042","type":"1","fileId":"0","hasReply":"0","fakeId":"416353015","nickName":"天体图","remarkName":"","dateTime":"1374734760","icon":"","content":"嘻嘻嘻","playLength":"0","length":"0","source":"","starred":"0","status":"4","subtype":"0","showType":"0","desc":"","title":"","appName":"","contentUrl":"","bcardNickName":"","bcardUserName":"","bcardFakeId":"0"}

]

在实时消息页面查看源代码就能看到上面这段代码(可以查看源代码后搜索json-msgList),根据我的分析,type是消息类型(自己试一下,拿微信朝公共平台上发,然后对比),fakeId相当于一个用户的唯一标识符,nickName是昵称,remarkName是备注,dateTime是消息发送时间(这是“1970 年 1 月 1 日至今的毫秒数”,自己转换成真实的时间吧),content是文字内容,ContentUrl应该是语音或视频文字的地址。有了这几个应该差不多了,其它的自己分析吧。友情提供一个获取用户详细信息的接口https://mp.weixin.qq.com/cgi-bin/getcontactinfo?t=ajax-getcontactinfo&lang=zh_CN&fakeid=416353015,聪明的同学可以去发现更多的有用接口。

这里的ID是消息的ID,可以选一个最大的记下来,在下次获取新消息数的时候传过去,就是刚刚的lastmsgid。

这里做一下小结:

收消息过程中,不管是获取消息数,还是获取消息列表,还是获取具体内容(包括下载语音和视频文件),一定要注意cookie和请求头里的Referer以及请求正文里的token。

#####################这根分割线是谁的?###############################

接下来是发消息,发消息有两处地方,一个是实时消息里有快捷回复,一个是用户列表里点击人姓名就跳到类似聊天模式的地方。这个接口大家自己去找一下,太简单了,不想说了(发送代码在我的代码里只占了两行)。我说的都是发送文字消息啊,发送图文消息的接口也是很简单的,不过蛋疼的就是“素材”这个概念,不能让我想发什么就发什么,只能发“素材”。我还不太会用程序上传“素材”,就不献丑了。先写到这,也算还了一个愿。最后说一下容易失误的地方是Referer和token,还有Cookie。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值