微信公众号开发 配置服务器URL,验证Token
2017-06-29 21:51
1436 查看
主要讲配置,验证token,以及可能遇到的错误和需要注意的细节。
1.你肯定要有个微信公众号;if(no)return;
2.在平台上,找到 ‘开发’ –’基本配置’,
服务器地址: 你的服务器地址,推送消息会转发到这个地址上; 只支持http:80端口/ https:443端口
令牌: 作为第一次验证的标识,要和你php文件里面的token保持一致;
消息加解密: 随机生成即可;
消息加解密方式:根据需要;
至于外头的白名单配置,如果开发中不需要access_token的话,不配置白名单也没事。
3.后台需要编写验证token脚本,下面以php的为例,(你的服务器要有php环境)
4.后台写好之后,即可在平台上点击提交配置,出现 提交成功提示,就算配置成功。
用这个php来验证,不会有问题,如果提示 url超时,先确认你的url能不能被访问到,用postman的工具测一下,也可以抓包看一下。查看服务器有没有拦截微信的ip,登录服务器,用
5.提交成功之后,别忘了启动配置
1.你肯定要有个微信公众号;if(no)return;
2.在平台上,找到 ‘开发’ –’基本配置’,
服务器地址: 你的服务器地址,推送消息会转发到这个地址上; 只支持http:80端口/ https:443端口
令牌: 作为第一次验证的标识,要和你php文件里面的token保持一致;
消息加解密: 随机生成即可;
消息加解密方式:根据需要;
至于外头的白名单配置,如果开发中不需要access_token的话,不配置白名单也没事。
3.后台需要编写验证token脚本,下面以php的为例,(你的服务器要有php环境)
<?php /** * wechat php test * update time: 20141008 */ //define your token define("TOKEN", "weixin"); // 改成在平台上配置的token $wechatObj = new wechatCallbackapiTest(); $wechatObj->valid(); class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract 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(!emptyempty( $keyword )) { $msgType = "text"; $contentStr = "Welcome to wechat world!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo ""; } }else { echo ""; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } } ?>
4.后台写好之后,即可在平台上点击提交配置,出现 提交成功提示,就算配置成功。
用这个php来验证,不会有问题,如果提示 url超时,先确认你的url能不能被访问到,用postman的工具测一下,也可以抓包看一下。查看服务器有没有拦截微信的ip,登录服务器,用
iptables -list查看当前ip禁用配置。如果都没有问题,请先别怀疑这段代码,换个服务器试一下。
5.提交成功之后,别忘了启动配置
相关文章推荐
- 关于ThinkPHP框架开发微信公众号在微信后台配置服务器URL提示Token验证失败的解决方案
- 阿里云服务器开发微信公众号,配置的时候总是TOKEN验证失败
- 微信公众号开发验证服务器Token失败
- 微信公众号开发(一) 提供自己的url给微信服务器进行验证
- 微信公众号开发笔记(一)服务器配置和验证
- 微信开发 修改url配置后token验证失败
- thinkphp开发微信公众号时,验证基本配置提示请求url超时
- 使用C# .net开发微信公众号之服务器URL配置
- 微信公众平台开发学习记录(1)————服务器配置和服务器地址验证
- 微信公众平台开发Token验证失败(有时URL超时)--解决方案
- 微信服务器在填写服务器的配置返回token验证失败
- 微信公众号开发者中心配置 Token验证失败 终极解决方案
- nodejs中微信公众号开发-接口配置和签名验证
- linux后台服务器开发环境部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
- .net开发微信公众号(2)-验证服务器地址
- 微信公众号开发之服务器配置
- 微信公众平台开发者中心服务器配置Token验证失败问题
- 阿里云服务器微信接口开发TOKEN验证失败
- 微信公众平台开发者中心服务器配置Token验证失败问题