在SAE上使用wx_sample.php获取token失败问题
2015-09-15 00:00
671 查看
“Talk is cheap, show me the code.”——Linus
<?php header("Content-Type:text/html; charset=utf-8"); //添加这行 define("TOKEN", "weixin"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->valid(); class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()) { header('content-type:text');//再添加这行 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 (!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(!empty( $keyword )) { $msgType = "text"; $contentStr = "Welcome to wechat world!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } else { echo "Input something..."; } } else { echo ""; 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; } } } ?>
完事
吾辈也是php小白,原理也还没弄清楚,弄明白后会更新上来。
如果有码友明白原理不吝赐教,请务必回帖告知,不胜感激。
相关文章推荐
- 【CF应用开发大赛】微博社交简历
- 论微信取消推送功能的可能性(原创)
- Python脚本实现下载合并SAE日志
- asp.net开发微信公众平台之验证消息的真实性
- asp.net开发微信公众平台之获取用户消息并处理
- 在SAE上搭建最新wordpress的方法
- php实现SAE上使用storage上传与下载文件的方法
- 新浪SAE搭建PHP项目教程
- sae使用smarty模板的方法
- PHP使用Face++接口开发微信公众平台人脸识别系统的方法
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台天气预报功能开发
- 微信公众平台开发实现2048游戏的方法
- 微信公众平台开发之配置与请求
- 微信公众平台开发入门教程(SAE方倍工作室)
- PHP版微信公众平台红包API
- web.py在SAE中的Session问题解决方法(使用mysql存储)
- Python实现微信公众平台自定义菜单实例
- 在SAE上部署Python的Django框架的一些问题汇总
- 基于php的微信公众平台开发入门实例