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 相关文章推荐
基于PHP与XML的PDF文档生成技术
Oct 09 PHP
PHP 5.0对象模型深度探索之属性和方法
Mar 27 PHP
php intval的测试代码发现问题
Jul 27 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
解析PHP中如何将数组变量写入文件
Jun 06 PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 PHP
php缓存技术详细总结
Aug 07 PHP
php中require和require_once的区别说明
Feb 27 PHP
php不写闭合标签的好处
Mar 04 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
php根据生日计算年龄的方法
Jul 13 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
Aug 17 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
一个MYSQL操作类
2006/11/16 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
自制微信公众号一键排版工具
2016/09/22 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
微信小程序云函数使用mysql数据库过程详解
2019/08/07 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
python 中的divmod数字处理函数浅析
2017/10/17 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
2019/01/08 Python
Django静态文件加载失败解决方案
2020/08/26 Python
linux面试题参考答案(6)
2016/06/23 面试题
计算机个人求职信范例
2014/01/24 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
社区两委对照检查材料
2014/08/23 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
十八大标语口号
2014/10/09 职场文书
2014年幼儿园教研工作总结
2014/12/04 职场文书
公司员工手册范本
2015/05/14 职场文书
礼仪培训心得体会
2016/01/22 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
用Python生成会跳舞的美女
2022/01/18 Python
python机器学习实现oneR算法(以鸢尾data为例)
2022/03/03 Python
Java中的继承、多态以及封装
2022/04/11 Java/Android