zoukankan      html  css  js  c++  java
  • 微信开发-接收消息和事件

    当我们成为开发者之后,用户向公众账号发送消息或者用户的一些操作,微信服务器会推送XML数据包到开发者填写的URL上。这些数据主要分为两类:

    ①消息

    用户在发送消息后,微信就会推送一个xml数据包给开发者,主要分为文本、图片、语音、视频、小视频、地理位置、链接,具体结构可以查看微信官方文档。我们可以在接收到这个这个数据包之后,对它做一个处理转变成

    我们可以使用的数据。

    注:1.$_GLOBALS["HTTP_RAW_POST_DATA"]用来获取微信post过来的数据,主要因为$_POST只能接收php能识别的数据,所以用这个方法获取到的是原始的POST数据。

      2.simplexml_load_string将xml载入一个对象中,方便以后调用。

      3.获取到这些数据后,可以做出对应的逻辑处理。但是请在5秒内处理并回复,否则就会发起新的请求进行重试,如果不回复或者回复异常数据就会报错“该公众号暂时无法提供服务,请稍后再试”。所以如果不能在

       5秒内回复可以直接选择回复success或者空字符串。

    ②事件

    事件的推送和消息推送基本相似,但是事件加了一个关键的节点用以和消息区分,就是event。在消息中MsgType是text而在事件中则是event,并且会用一个event节点来显示是什么事件,我们可以根据事件的类型来做出

    对应的逻辑处理,事件的具体结构可以查看微信官方文档。

  • 相关阅读:
    【剑指Offer】跳台阶&变态跳台阶
    【剑指Offer】替换空格
    【剑指Offer】二维数组中的查找
    【Leetcode】2. Add Two Numbers 两数相加
    HTML学习笔记(一)HTML的一些概念区别
    C#项目中一些文件类型说明
    数据结构初步归纳(一)概念、线性表以及队列和栈
    线程相关概念
    程序开发方法论
    C#集合类型
  • 原文地址:https://www.cnblogs.com/lina520/p/6137116.html
Copyright © 2011-2022 走看看