前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

微信公众平台的缓存微信服务器请求消息

qiguaw 2024-09-08 06:44:05 资源文章 20 ℃ 0 评论

当普通微信用户向公众帐号发消息时,微信服务器将POST消息XML数据包到开发者填写的URL上。微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试3次,假如服务器无法保证在5秒内处理并回复,可以直接回复任意字符串,如success等,微信服务器不会对此任何处理,并且不会发起重试。

为了直观地查看每种消息类型的特性,继续修改Application/Wechat/Controller下的IndexController.class.php控制器。因为PHP对数组的处理效率较高,所以新增静态方法xml2data()转换XML文件格式为数组格式,核心代码如下:

因为在Token配置时,微信服务器发送的请求为GET数据类型,而转发消息的时候为POST数据类型,所以就可判断在何时进行Token验证,何时进行消息数据包处理,修改configToken()方法如下:

在实例中,,为了更方便地接收XML格式的数据包,使用了彷php://input的方式来接收POST的请求数据,代码如下:

$xml = file_get_contents("php://input");

为了方便查看消息的类型,保存每次请求信息为json格式文件。这里的代码如下

file_put_contents('./wechat_data.json', json_encode($data));

随后新增方法对json文件进行读取和查看,代码如下:

上线到关联微信公众平台测试服务号的服务器后,服务器就可以记录所有的用户发送消息信息到本地json文件

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表