您的位置:首页 > 移动开发 > 微信开发

微信天气接口查询

2015-06-12 20:13 507 查看
<?php/* http://fanyi.youdao.com/openapi.do?keyfrom=weifan&key=791593512&type=data&doctype=<doctype>&version=1.1&q=要翻译的文本 方倍工作室 http://www.cnblogs.com/txw1958/ CopyRight 2013 www.doucube.com  All Rights Reserved*/traceHttp();define("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();if (isset($_GET['echostr'])) {$wechatObj->valid();}else{$wechatObj->responseMsg();}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"];//simplexml_load_string() 函数把 XML 字符串载入对象中。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>";//sprintf() 函数把格式化的字符串写入一个变量中//strstr() 函数搜索一个字符串在另一个字符串中的第一次出现if(!empty($keyword)){$url="http://api.k780.com:88/?app=weather.future&appkey=14323&sign=0111aa8a973785f0f0926aff75f5af52&format=json&weaid=".$keyword."";$str = file_get_contents($url);$data = json_decode($str);$weather = "";$weather .="城市:".$data->result[0]->citynm."   星期:".$data->result[0]->week."   温度:".$data->result[0]->temperature."  天气:".$data->result[0]->weather."  日期:".$data->result[0]->days."";$msgType = "text";$contentStr = $weather;$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;}}else{$msgType = "text";$contentStr = $keyword."zzzz";$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;exit;}}}function traceHttp(){//“REMOTE_ADDR”:正在浏览当前页面用户的 IP 地址。logger("\n\nREMOTE_ADDR:".$_SERVER["REMOTE_ADDR"].(strstr($_SERVER["REMOTE_ADDR"],'101.226')? " FROM WeiXin": "Unknown IP"));logger("QUERY_STRING:".$_SERVER["QUERY_STRING"]);}function logger($log_content){if(isset($_SERVER['HTTP_APPNAME'])){   //SAEsae_set_display_errors(false);   //sae_debug($log_content);   //sae_debug是保存到日志里面, 不会保存到storage里面.sae_set_display_errors(true);}else{ //LOCAL$max_size = 500000;$log_filename = "weixinlog.xml";if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}file_put_contents($log_filename, date('Y-m-d H:i:s').$log_content."\r\n", FILE_APPEND);}}?>
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: