自己搭的微信公众号收到消息没反应,看日志发现微信服务器 POST 过来的不是消息内容而是验证信息,这是为啥?

2013-04-13 16:13:01 +08:00
 nervouna
如题,本来在启用开发者模式的时候已经验证过一次了,难道是每次收发消息都要验证一下吗=。= 刚刚改了下代码,已经给 POST 过来的验证信息回复了 echostr,但再试还是收不到消息内容,永远都是 POST /wechat?signature=……
12888 次点击
所在节点    微信
4 条回复
qiayue
2013-04-13 16:20:36 +08:00
每次微信接收到消息,post到你服务器时,都会带上?小尾巴,用于验证,这是为了防止他人冒充微信给你发数据。
收不到消息内容可能是你返回去的xml格式不正确,仔细检查一下。
记得以前微信官方php示例是有3处错误的,需要你自己改,不知道现在官方修正了没有。
qiayue
2013-04-13 16:22:22 +08:00
另外,只有第一次验证的时候需要打印 echostr ,之后接收post消息只需要做验证(不验证也可以)然后返回xml格式数据即可,不需要打印 echostr 。
nervouna
2013-04-13 16:29:21 +08:00
@qiayue 谢谢!我检查一下返回值。
nervouna
2013-04-13 19:30:08 +08:00
@qiayue -_,- 的确是 xml 的问题,已经解决了,谢谢〜

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/65792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX