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

1.Token验证失败

这个就是要检查配置文件了,最基本的就是

define("TOKEN", "weixin");  weixin 是你的微信开发后台的ID


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 (!empty($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 != " " || !empty( $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;
        }
    }
}

时间: 2016-12-15
Tags: 代码, 开发

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

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

本文实例分析了php版微信开发Token验证失败或请求URL超时问题的解决方法.分享给大家供大家参考,具体如下: 微信开发最近要用到的一个功能,其实就是一个非常的简单的用户输入然后自动搜索数据库并进行一个数据回复了,这个与官方没多大的问题,但小编就微信Token验证失败折腾了许多,下面解决了给各位分析一下. 1.Token验证失败 这个就是要检查配置文件了,最基本的就是 define("TOKEN", "weixin");  weixin 是你的微信开发后台的ID

服务器-关于用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验证成功.下面我将给出示例告

ci-微信接口token验证失败

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

微信平台开发-用sae部署 开发微信平台Java 验证失败

问题描述 用sae部署 开发微信平台Java 验证失败 )企业号开启回调模式 echostr校验失败,请您检查是否正确解密并输出明文echostr 在新浪日志中看到签名验证失败,ase解密失败 .大牛们能不能解决呀.用的是Java 开发 解决方案 您好,如果微信公众平台开发需要用到AES加解密,是需要替换JCE无限制权限策略文件的. 否则,AES密钥长度大于128,就会抛异常"java.security.InvalidKeyException: Illegal key size". 这

微信公众平台开发token验证不过

问题描述 微信公众平台开发token验证不过 我有自己的服务器,使用java和jsp开发,但是不知道怎养在服务器去获取微信token验证,需要在服务器做什么.求大神指点 解决方案 在做token验证的时候,有4个参数,并且有一定的规则. 只要按照规则,进行http请求和验证就可以了,给你个解析的link,希望对你有用 http://yuedu.baidu.com/ebook/5d964e2577232f60dccca171?pn=1&click_type=10010002&rf=https

微信配服务器验证失败-微信公众平台修改服务器配置时token验证失败

问题描述 微信公众平台修改服务器配置时token验证失败 jsp里的源码: <% String token = Weixin.TOKEN; String timestamp = request.getParameter("timestamp"); String nonce = request.getParameter("nonce"); //对微信返回的数据做SHA1加密 String sign = ""; try { List l = n

求助一个微信token验证失败问题

问题描述 求助一个微信token验证失败问题 如下图所示小弟在输入微信验证的token时输入access_token后的字符串,但是一提交验证的时候就无法通过,提示输入的token不正确,需要3-32个字符的,很显然我返回的token代码远远大于32个,我想请问下大神是我设置错误了还是咋回事. 解决方案 http://www.cnblogs.com/txw1958/p/token-verify.html

Token验证失败

Token验证失败 微信 微信公众平台开发 Token校验失败 URL Token原文 http://www.cnblogs.com/txw1958/p/token-verify.html    Token验证失败的解决方法   一.问题由来 在使用URL和Token启用微信公众平台开发模式消息接口的时候,我们会碰到下面三种情况  1. token校验失败 这样回头检查一下各项配置是否正确.如果确定配置没有问题,请按下面的方法检查 2. 请求URL超时 你的服务器在国外,或者服务器网速不给力,一