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

本文实例分析了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编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 微信开发
, 解决方法
, Token验证失败
请求URL超时
微信token请求url超时、请求超时 token已过期、token 请求url超时、java token验证实例、token验证实例,以便于您获取更多的相关知识。

时间: 2016-09-23

php版微信开发Token验证失败或请求URL超时问题的解决方法_php实例的相关文章

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

1.Token验证失败 这个就是要检查配置文件了,最基本的就是 define("TOKEN", "weixin");  weixin 是你的微信开发后台的ID 2.请求URL超时 这个没什么办法多提交几次了,这个还有就是服务器安装了安全狗之类的软件把微信IP给拦截了,可以检查一下. 3.官方下载一个wechatCallbackapiTest类然后进行一下操作即可  代码如下 复制代码 define("TOKEN", "weixin&qu

php版微信开发之接收消息,自动判断及回复相应消息的方法_php实例

本文实例讲述了php版微信开发之接收消息,自动判断及回复相应消息的方法.分享给大家供大家参考,具体如下: 微信的api现在己经强大到可以随意调用我们网站或指定数据库的内容进行自能回复现推送消息了,这里就来给大家介绍一个微信开发的笔记. 发送1,2,3,7测试相应的消息,菜单模式需要升级为服务号,或者订阅人数超过500以上. 1. 用户发送的消息都是通过你提交的开发者URL来接收,这里订阅号就可以搞定,发送过来的都是xml格式数据,需要解析,代码如下: $data = $GLOBALS["HTTP

php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法_php技巧

本文实例讲述了php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法.分享给大家供大家参考,具体如下: 微信支付api.mch.weixin.qq.com域名解析慢了,导致付款时非常的慢,那么要如何来解决微信支付慢的问题呢,这里就来一起分析一下. 有朋友在阿里云主机实现微信支付逻辑时,发现api.mch.weixin.qq.com的解析实在是太慢了. 因此出现了手动修改/etc/hosts的情况,当然了,哪天微信支付要是换个机房肯定要挂. 我们的机房也有相似的同题,专

服务器-关于用java开发微信公众平台开发 token验证失败的问题

问题描述 关于用java开发微信公众平台开发 token验证失败的问题 大家好,最近在学习用java开发微信公众平台,第一次写的代码token验证通过了,用的是阿里云的服务器换系统(server2008->2003)后就怎么也通过不过验证.直接输入域名www.zhenggufang.com/aip/longin网页显示404.域名也已经备过案.服务器上的tomcat也启动正常tomcat/conf/server也修改了.多谢提交还是token验证失败.请各位帮忙看看代码如下: package s

微信接口token验证失败

问题描述 微信接口token验证失败 我用微信官方的代码,token验证一直通不过...不知道什么原因 用的百度bae,日志上倒是有微信的访问记录,看起来也没什么bug... 求大神拯救 解决方案 如果你的微信接口页面没有做好,提交保存的时候,会提示:验证Token失败.这个错误是因为,你的接口页面还没有反馈正确的信息给微信接口.微信在教程方面还做得不够成熟,就一个PHP示例,还是有问题的,在下篇文章我会讲到这个错误在哪.微信官方也没有跟大家说清楚怎么才能是token验证成功.下面我将给出示例告

微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法_php实例

这段时间一直比较忙,一忙起来真感觉自己就只是一台挣钱的机器了(说的好像能挣到多少钱似的,呵呵):这会儿难得有点儿空闲时间,想把前段时间开发微信公众号支付遇到问题及解决方法跟大家分享下,这些"暗坑"能不掉就不掉吧,要不然关键时刻出问题,真是让人急的焦头烂额.  双12客户的商城活动正在蓄势进行中,却有用户频频反馈说:支付不了,有问题,并截图如下:   当时问题感觉很奇怪,自己测试多次都ok啊,问题来了都赶紧解决吧,最终找到解决办法: 原因是程序中一个字符串变量被错误的设置为数字类型,解决

destoon会员注册提示“数据校验失败(2)”解决方法_php实例

很多人在使用destoon建立一个B2B系统的时候,会在企业站注册企业用户的时候出现:"数据校验失败(2)"的错误提示,严重影响用户的使用.现将解决方法公布如下: 从destoon的后台进入module/member/register.inc.php 在register.inc.php文件中找到: if($submit){ 将其下的 if($action != crypt_action('register')) dalert($L['check_sign'].'(1)'); 注释掉:

Yii使用ajax验证显示错误messagebox的解决方法_php实例

本文实例讲述了Yii使用ajax验证显示错误messagebox的解决方法.分享给大家供大家参考.具体方法如下: yii 自带了ajax 表单验证 这个可能有些朋友不知道了,但我今天在使用yii 自带的ajax 表单验证 时碰到一些问题,下面我来整理例子与大家参考一下. 在Yii中,可以利用ajax执行一个action,但是这个action有时候会有弹出错误讯息的需求,这时候的处理方式如下 基本思想 利用exception,比如: 复制代码 代码如下: throw new CHttpExcept

ci-微信接口token验证失败

问题描述 微信接口token验证失败 我想用PHP CI框架写微信接口,但是token验证老是失败,该怎么解决 解决方案 先看你是否通过授权,是否拿到正确token 解决方案二: 都不描述一下你是怎么验证token的,怎么帮你? 解决方案三: 如果是拿到了token那就要考虑请求的uri是否正确了,微信的授权验证机制,是先将各个参数以请求的方式发到微信的服务器,然后再转发回来的,可能在转发的过程中,你某些参数获取失败了,跟踪uri 的返回,将参数打印出来,可能就能解决了 解决方案四: token