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中Session的概念
Oct 09 PHP
模仿OSO的论坛(五)
Oct 09 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
php代码中使用换行及(\n或\r\n和br)的应用
Feb 02 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
PHP中文编码小技巧
Dec 25 PHP
php+xml编程之SimpleXML的应用实例
Jan 24 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 PHP
PHP删除字符串中非字母数字字符方法总结
Jan 20 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(1)
2006/10/09 PHP
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
Python 的 Socket 编程
2015/03/24 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
django中send_mail功能实现详解
2018/02/06 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
《诚实与信任》教学反思
2014/04/10 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
企业介绍信范文
2015/01/30 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
团结友爱主题班会
2015/08/13 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
SQL之各种join小结详细讲解
2021/08/04 MySQL