昨天开始跟着imooc(强势打一波广告?)中的微信公众号开发教程,刚开始遇到了许多问题,一开始是URL超时,后来解决了,跟着教程敲代码,又来一个token验证失败,搞七搞八,找了各种回答,都没能解决问题,终于,在刚刚,历时一天,解决了这个问题:
首先第一个:URL超时
这个就得说一下我一开始使用的云主机了,为了贪免费(学生党没钱QAQ),使用科学上网去国外找了一个云主机(http://cpanel.hostinger.com.hk/order/accounts-list),结果在修改配置提交的时候总是URL超时,虽然网上大神说可能是主机配置问题,但我还是觉得是国外主机的问题??后来还是充值了点钱去新浪云开了一个应用,秒速解决URL超时问题啊!
需要科学上网工具的小伙伴可以私信我哦,我的是直接改变host文件的,一秒搞定!
第二个:token验证失败
在新浪云搞了好久,一直发现提交出现了 “token验证失败”,贴上imooc的代码:
$timestamp = $_GET['timestamp'];
$token = "weixin";
$nonce = $_GET['nonce'];
$signature = $_GET['signature'];
$echostr = $_GET['echostr'];
$tempArr = array($timestamp,$token,$nonce);
sort($tempArr);
$tempstr = sha1(implode($tempArr));
if($tempstr == $signature){
header('Content-type:text');
echo $echostr;
exit;
}
(不知道有没有小伙伴跟我一样这样敲然后狂提交一直都是 token验证失败 的?)
后来找了博客上面的一些大神写的教程,还是看他们的代码,一步一步尝试,发现需要加一个判断,大神的传送门
修改后的代码:
if(isset($_GET['echostr'])){
$timestamp = $_GET['timestamp'];
$token = "weixin";
$nonce = $_GET['nonce'];
$signature = $_GET['signature'];
$echostr = $_GET['echostr'];
$tempArr = array($timestamp,$token,$nonce);
sort($tempArr);
$tempstr = sha1(implode($tempArr));
if($tempstr == $signature){
header('Content-type:text');
echo $echostr;
exit;
}
} else{
//responseMsg
}
感觉有点汗颜,这么一个小东西,搞了我一天。
记录一下,搞定收工!