php版微信开发Token验证失败或请求URL超时问题的解决方法


Posted in PHP onSeptember 23, 2016

本文实例分析了php版微信开发Token验证失败或请求URL超时问题的解决方法。分享给大家供大家参考,具体如下:

微信开发最近要用到的一个功能,其实就是一个非常的简单的用户输入然后自动搜索数据库并进行一个数据回复了,这个与官方没多大的问题,但小编就微信Token验证失败折腾了许多,下面解决了给各位分析一下.

1.Token验证失败

这个就是要检查配置文件了,最基本的就是

define("TOKEN", "weixin");  weixin 是你的微信开发后台的ID

微信开发Token验证失败或请求URL超时问题解决办法

2.请求URL超时

这个没什么办法多提交几次了,这个还有就是服务器安装了安全狗之类的软件把微信IP给拦截了,可以检查一下。

3.官方下载一个wechatCallbackapiTest类然后进行一下操作即可,代码如下:

define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
  $wechatObj->valid();
}else{
  $wechatObj->responseMsg();
}

wechatCallbackapiTest类就代码如下:

class wechatCallbackapiTest
{
  public function valid()
  {
    $echoStr = $_GET["echostr"];
    if($this->checkSignature()){
      echo $echoStr;
      exit;
    }
  }
  private function checkSignature()
  {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );
    if( $tmpStr == $signature ){
      return true;
    }else{
      return false;
    }
  }
  public function responseMsg()
  {
    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    if (!emptyempty($postStr)){
      $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
      $fromUsername = $postObj->FromUserName;
      $toUsername = $postObj->ToUserName;
      $keyword = trim($postObj->Content);
      $time = time();
      $textTpl = "<xml>
            <ToUserName><![CDATA[%s]]></ToUserName>
            <FromUserName><![CDATA[%s]]></FromUserName>
            <CreateTime>%s</CreateTime>
            <MsgType><![CDATA[%s]]></MsgType>
            <Content><![CDATA[%s]]></Content>
            <FuncFlag>0</FuncFlag>
            </xml>";
      if($keyword != " " || !emptyempty( $keyword ) )
      {
  msgType = "text";
  //$contentStr .= date("Y-m-d H:i:s",time());
  $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
  echo $resultStr;
      }
    }else{
      echo "";
      exit;
    }
  }
}

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

PHP 相关文章推荐
Session的工作方式
Oct 09 PHP
cmd下运行php脚本
Nov 25 PHP
php小偷相关截取函数备忘
Nov 28 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
Jul 15 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
php文件夹的创建与删除方法
Jan 24 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
Ajax和PHP正则表达式验证表单及验证码
Sep 24 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
php版微信公众账号第三方管理工具开发简明教程
Sep 23 #PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
Sep 23 #PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 #PHP
php版微信公众平台之微信网页登陆授权示例
Sep 23 #PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 #PHP
php利用递归实现删除文件目录的方法
Sep 23 #PHP
php版微信公众平台开发之验证步骤实例详解
Sep 23 #PHP
You might like
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
PHP导入导出Excel代码
2015/07/07 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
php命令行写shell实例详解
2018/07/19 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
javascript document.referrer 用法
2009/04/30 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
2011/04/07 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
了解VUE的render函数的使用
2017/06/08 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
js取小数点后两位四种方法
2019/01/18 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
Python列表元素常见操作简单示例
2019/10/25 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
网络安全方面的面试题
2016/01/07 面试题
警校毕业生自我评价
2014/04/06 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
婚礼答谢礼品
2015/01/20 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL