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 相关文章推荐
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
简单的php文件上传(实例)
Oct 27 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
php url路由入门实例
Apr 23 PHP
PHP中使用TCPDF生成PDF文档实例
Jul 01 PHP
php事务处理实例详解
Jul 11 PHP
ThinkPHP行为扩展Behavior应用实例详解
Jul 22 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
学习php设计模式 php实现备忘录模式(Memento)
Dec 09 PHP
tp5框架内使用tp3.2分页的方法分析
May 05 PHP
Laravel实现ApiToken认证请求
Oct 14 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 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
第十一节 重载 [11]
2006/10/09 PHP
PHP中的日期处理方法集锦
2007/01/02 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
js定时器实例分享
2016/12/20 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
垃圾回收器的相关知识点总结
2018/05/13 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python数组条件过滤filter函数使用示例
2014/07/22 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
艺术爱好者的自我评价分享
2013/10/08 职场文书
机电一体化求职信
2014/03/10 职场文书
家教广告词
2014/03/19 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
爱心捐款倡议书范文
2014/05/12 职场文书
大型演出策划方案
2014/05/28 职场文书
协商一致解除劳动合同协议书
2014/09/14 职场文书
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫