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 相关文章推荐
桌面中心(三)修改数据库
Oct 09 PHP
smtp邮件发送一例
Oct 09 PHP
php cookis创建实现代码
Mar 16 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
PHP MSSQL 分页实例
Apr 13 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
Jun 06 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
PHP+JS实现的实时搜索提示功能
Mar 13 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 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
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
php将html转为图片的实现方法
2017/05/19 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
jquery属性过滤选择器使用示例
2013/06/18 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
JavaScript中动态向表格添加数据
2017/01/24 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
微信小程序云开发之数据库操作
2019/05/18 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
pytorch使用horovod多gpu训练的实现
2020/09/09 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
中间件分为哪几类
2012/03/14 面试题
How TDD works
2012/09/30 面试题
一套中级Java程序员笔试题
2015/01/14 面试题
酒店总经理助理职责
2014/02/12 职场文书
环保倡议书
2014/04/14 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
学习群众路线的心得体会
2014/11/05 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python