微信公众平台消息接口校验与消息接口响应实例


Posted in PHP onDecember 23, 2014

本文实例讲述了微信公众平台消息接口校验与消息接口响应的方法。分享给大家供大家参考。具体分析如下:

开发微信公众平台消息接口过程中,我们首先需要验证消息接口的有效性,验证通过后,才可以进行其他开发,首先我们来看一下微信公众平台给我的 PHP SDK.

1、需要设置一个 TOKEN 信息,代码如下:

efine("TOKEN", "weixin");

这个 TOKEN 信息可以由开发者自行设定.

2、有个 wechatCallbackapiTest 类,该类中含有3个方法:valid、responseMsg、checkSignature,其中方法valid、checkSignature是用作验证接口URL有效性用的,responseMsg是我们使用最多的方法,后续大部分的开发工作都会在这里完成.

在我们对接口进行有效性验证通过后,就不再需要进行验证了,这时我们就需要使用到 responseMsg 方法,那么如何保证接口验证通过后,不需要去切换其中的方法或修改其中的代码呢?

我是这样做的,代码如下:

public function indexAction() 

{ 

 if(isset($_GET['echostr'])) 

 { 

  $echoStr = $_GET["echostr"]; 

 

  //valid signature , option 

  if($this->checkSignatureAction()) 

  { 

   echo $echoStr; 

   exit; 

  } 

 } 

 else 

 { 

  $this->responseMsgAction(); 

 }

 return FALSE; 

}

讲解一下:因为在验证接口有效性时传递了个 echostr 参数,而在消息接口响应过程中没有这个参数,所有我们这里用这个参数来判断是验证接口还是接口响应,代码如下:
isset($_GET['echostr'])

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
用PHP动态生成虚拟现实VRML网页
Oct 09 PHP
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
PHP 一个页面执行时间类代码
Mar 05 PHP
非常好用的两个PHP函数 serialize()和unserialize()
Feb 04 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
Jun 08 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
php编程每天必学之验证码
Mar 03 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
简单的自定义php模板引擎
Aug 26 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
php获取QQ头像并显示的方法
Dec 23 #PHP
关于URL最大长度限制的相关资料查证
Dec 23 #PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
Dec 22 #PHP
php微信公众开发之获取周边酒店信息的方法
Dec 22 #PHP
php天翼开放平台短信发送接口实现方法
Dec 22 #PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 #PHP
WebQQ最新登陆协议的用法
Dec 22 #PHP
You might like
我的论坛源代码(七)
2006/10/09 PHP
ASP和PHP都是可以删除自身的
2007/04/09 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
PHP按行读取、处理较大CSV文件的代码实例
2014/04/09 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
fastclick插件导致日期(input[type="date"])控件无法被触发该如何解决
2015/11/09 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
Python程序运行原理图文解析
2018/02/10 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
详解CSS3弹性伸缩盒
2020/09/21 HTML / CSS
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
详解MySQL中的主键与事务
2021/05/27 MySQL
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记
把77A收信机改造成收音机
2022/04/05 无线电
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python