当用户发一条消息到微信公众号,该公众号会返回相应的消息给用户,那么这些消息是经过什么过程才返回到用户的微信里呢。
其实用户发送消息开始,主要经过5个过程:
1、用户发送消息传输到微信服务器
2、微信服务器将xml格式的数据传输到开发者设置的服务器。
3、开发者解析xml数据并进行相应的处理,然后将返回数据封装成xml格式。
4、开发者的服务器返回数据给微信服务器。
5、微信服务器将数据返回给用户。
如下图:
个人的服务器处理信息步骤如下:
1、获取微信服务器推送过来的post数据(xml格式)
2、解析xml数据包
3、设置回复模板
4、封装消息
5、想微信服务器推送消息
代码如下(php为例):
//$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];//1,获取到微信推送过来post数据(xml格式)
$postArr = file_get_contents("php://input");//5.6版本开始摒弃HTTP_RAW_POST_DATA这个全局变量,注意了
if (!empty($postArr)){
$postObj = simplexml_load_string($postArr, 'SimpleXMLElement', LIBXML_N