微信公众平台开发 微信公众平台开发者 微信公众平台开发模式 签名校验 消息响应

作者:方倍工作室

原文:http://www.cnblogs.com/txw1958/archive/2013/05/08/weixin-if29-valid-responseMsg.html

一、问题来源

微信公众平台在启用接口的时候使用valid函数进行验证,

("TOKEN", "方倍工作室"= ->valid();

但在验证完成后,就开始执行对消息的响应,不再使用valid函数,需要把他注释掉,并且设置成responseMsg()

如下

("TOKEN", "方倍工作室"= ->responseMsg();

这样操作,其实比较麻烦,因为要回头来改函数。

二、问题分析

为什么要用两个不同函数来处理呢?这是因为两个不同的函数执行不同的功能,

当执行valid函数时,提交的是验证字符串,用于保证url和token填写提交正确,这个时候微信服务器提交给url的请求是

=eded789463180edf6c13691398d0cb4c85fb0e23=5838479218127813673=1359100969=1359376876

而当响应消息的时候,已经可以确定url地址正确了,这时候主要是获得回复的xml了,这时提交的请求类似如下:

=ba7f5cf8aee512037e5a669596f6f64a8e763d7c=1368016183=1368211921

二、解决方法

我们回头来看一下valid函数

= ["echostr"(->

其中有一个_GET变量,那么什么是_GET变量,以下内容来自 http://www.w3school.com.cn/php/php_get.asp

$_GET 变量

$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。

$_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。

为什么使用 $_GET?

注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。

我们注意到在二中描述的,两次不同的请求,签名验证请求中,url中有个echostr变量,而在响应消息中是没有的,

=eded789463180edf6c13691398d0cb4c85fb0e23=5838479218127813673=1359100969=1359376876

那么我们用同样的思路,判断_GET变量中是否有这个echostr变量,来实现区分两种不同的请求:

最终代码类似如下:

("TOKEN", "方倍工作室"= ((['echostr'->->

至此,我们就不用再来注释一个启用另一个了,减少了一次麻烦。

http://www.bkjia.com/PHPjc/440276.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440276.htmlTechArticle微信公众平台开发 微信公众平台开发者 微信公众平台开发模式 签名校验 消息响应 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/archi...

微信公众平台签名php,微信公众平台消息接口开发(29)校验签名与消息响应合并_PHP教程...相关推荐

  1. 微信公众平台消息接口开发之校验签名与消息响应合并

    微信公众平台在启用接口的时候使用valid函数进行验证, define("TOKEN", "guoxiongjie"); $wechatObj = new we ...

  2. 微信公众平台消息接口开发(2)-封装weixin.class.php

    微信公众平台消息接口开发(2)-封装weixin.class.php 一.封装weixin.class.php 由于微信公众平台的通信使用的是特定格式的XML数据,每次接受和回复都要去做一大堆的数据处 ...

  3. 微信公众平台消息接口开发(34)微信墙之表白墙/婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙...

    微信公众平台开发模式 微信 公众平台 消息接口 开发模式 企业微信公众平台 微信墙 婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙 历史上的今天 作者:方倍工作室   原文: http://www.c ...

  4. php网站怎么对接微信群,PHP对接微信公众平台消息接口开发流程教程

    PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使 ...

  5. php对接微信提醒,PHP对接微信公众平台消息接口开发流程教程

    PHP对接微信公众平台消息接口开发流程教程 发布于 2015-02-15 08:54:13 | 157 次阅读 | 评论: 1 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...

  6. 微信公众平台消息接口开发(1)

    原文链接 现在微信很热,微信公众平台的应用也很热,其实微信公众平台消息接口开发并不难,只要有接口调用就OK了. 要开发微信公众平台上的应用,得准备什么呢? 至少要有一个公众账号.服务器.域名这三样东西 ...

  7. php微信公众号怎么开发_PHP对接微信公众平台消息接口开发流程详解及实例

    这篇文章主要介绍了PHP对接微信公众平台消息接口开发流程,如何使用PHP版接口操作公众平台消息,需要的朋友可以参考下 一.写好接口程序 在你的服务器上上传好一个接口程序文件内容如下: 代码如下:< ...

  8. 微信公众平台消息接口开发(34)微信墙之表白墙/婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙

    微信公众平台开发模式 微信 公众平台 消息接口 开发模式 企业微信公众平台 微信墙 婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙 历史上的今天 作者:方倍工作室   原文: http://www.c ...

  9. 微信公众平台消息接口开发(4)天气预报

    一.请求数据 首先需要能有取得天气数据的接口,这样的接口网上有很多.比如google, yahoo,天气网都提供天气接口 方倍工作室的API已经能提供全国各地的天气预报,使用方倍的API无需再建立城市 ...

最新文章

  1. sql如何让计算出来的结果百分数显示_图解面试题:如何交换数据?
  2. Unity创造没有代码的游戏学习教程
  3. C#数组按值和按引用传递数组区别
  4. 如何优雅的完成长截图?
  5. React 入门之路
  6. java url 解码 编码 奇怪的解码两次
  7. 【译】为何我们要写super(props)?
  8. “红色军团”崛起Gartner x86服务器虚拟化魔力象限
  9. MySQL的安装及使用教程
  10. 程序员不是神,心态决定一切
  11. AutoMapper搬运工之初探AutoMapper
  12. [导入]你的网站被订阅了吗(浅谈RSS2.0)续
  13. linux教学之安装python与pip环境
  14. python中的对象有哪些_python中的对象
  15. Web服务器压力测试工具?
  16. 获取实时股票行情通达信接口
  17. 高含盐废水处理资源化——双极膜电渗析
  18. SAP SD初阶之VL10A为销售订单创建外向交货单
  19. PostgreSQL 数据库查询
  20. C#控件编程详解之文本框(TextBox)

热门文章

  1. Vim设置colorscheme小技巧
  2. 电脑屏幕开机后一直闪不停怎么办?电脑屏幕闪烁的解决方法
  3. 详解vue-router 中的导航钩子
  4. scipy中的scipy.optimize.curve_fit
  5. js代码实现繁体字切换效果
  6. 如何培养一个人敏锐的判断力
  7. 调整matlab颜色栏字体大小
  8. Prefix must be in canonical form(已解决)
  9. 独立显卡和集成显卡区别
  10. linux查找权限为755的文件,linux系统文件夹644、755、777权限设置详解