获取PM2.5的微信公共账号
2013-03-25 19:49
225 查看
这是一个获取PM2.5的微信公共账号,由于没有公开的API,我就自己弄了个,大家可以上http://52tlife.duapp.com看看
上源码:
上源码:
<?php /** * wechat php test */ //define your token define("TOKEN", "ijob"); $wechatObj = new wechatCallbackapiTest(); //$wechatObj->valid(); $wechatObj->responseMsg(); 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 (!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!"; $stock=new Stock(); $results=$stock->get_stock($keyword); $contentStr="PM2.5:".$results['pm']."\n"."污染程度:".$results['pollute']."\n"."温馨提示:".$results['tl']; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo "abc"; 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; } } } class Stock { public function get_stock($value) { $qurl='http://iopenapi.duapp.com/pm.php?city='.$value;//可以参考http://52tlife.duapp.com $fetch=new BaeFetchUrl(); $content=$fetch->get($qurl);//解析网页 $result=json_decode($content,true);//json数据的解析 return array('pm'=>$result['pm'],'pollute'=>$result['pollute'],'tl'=>$result['tl']);//返回数组的形式 } } ?>
相关文章推荐
- 微信公众账号开发教程(五)获取个性二维码
- 为什么微信开始限制公共账号,营销号该如何转型
- 基于IBM Bluemix开发微信公共账号应用
- 微信Netting-QRLJacking分析利用-扫我二维码获取你的账号权限
- 微信公共平台私有sdk实现获取fakeid的构想与实现
- 微信公共账号后台服务开发
- 微信公共平台接入之:网页授权(微信授权,微信access_token获取,获取微信用户信息),微信开发者工具使用,微信公众平台测试号申请接入
- 利用simsimi小黄鸡接口,做一个微信公共账号上的机器人
- 微信开发公共服务平台开发(.Net) - 网页授权获取用户基本信息
- 微信公众账号登陆授权开发——5(解决使用官方获获取第三方平台方获取预授权码)
- python获取微信公共平台消息列表和用户头像
- 获取公众平号开发测试账号-微信开发视频教程3
- .net mvc 微信开发笔记(一)------申请测试用公共账号
- 微信公共号开发教程java版——公共号access_token的获取(五)
- 如果没有API,怎么写你想做的微信公共账号(上)
- 可以点歌的微信公共账号
- php获取微信公众账号access_token实例
- 微信公众平台测试账号的获取及开发使用【微信开发学习】
- 微信公共平台Node.js发送微信 获取fakeID