微信开发之如何快速查询城市天气
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章主要介绍微信开发之如何快速查询城市天气,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信http://www.php.cn/php/php-tp-demand.html
千家信息网最后更新 2024年11月22日微信开发之如何快速查询城市天气
这篇文章主要介绍微信开发之如何快速查询城市天气,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
微信http://www.php.cn/php/php-tp-demand.html" target="_blank">查询城市天气,首先,你需要找到一个获取天气的API,此处,用的是百度的apistore,可以去百度申请和使用API。
登录百度账号,并用手机发送请求获取apikey。有了apikey,可以按照它的示例来请求城市天气了。(可以按照城市中文名,拼音,城市编号等来查询)
你可以现在本地做测试,请求完成之后,再放到自己的域名空间的脚本里。
测试的脚本例如:(注意apikey填写自己申请的)
header('Content-type:text/html;charset=UTF-8'); $ch = curl_init();$url = 'http://apis.baidu.com/apistore/weatherservice/cityname?cityname=上海';$header = array( 'apikey: ',//你的apikey);// 添加apikey到headercurl_setopt($ch, CURLOPT_HTTPHEADER , $header);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// 执行HTTP请求curl_setopt($ch , CURLOPT_URL , $url);$res = curl_exec($ch); $res = json_decode($res, true);echo "";print_r($res);echo ""; $contentStr = ""; foreach($res as $k=>$v){ if($k == "retData"){ $contentStr = "城市:" . $v['city'] . "\n"; $contentStr .= "日期:" . $v['date'] . "\n"; $contentStr .= "天气:" . $v['weather'] ."\n"; $contentStr .= "平均气温:" . $v['temp'] . "℃\n"; $contentStr .= "最低气温:" . $v['l_tmp'] ."℃\n"; $contentStr .= "最高气温:" . $v['h_tmp'] . "℃\n"; $contentStr .= "风力:" . $v['WS'] . "\n"; $contentStr .= "风向:" . $v['WD'] . "\n"; $contentStr .= "日出时间:" . $v['sunrise'] . "\n"; $contentStr .= "日落时间:" . $v['sunset'] . "\n"; $contentStr .= "经度:" . $v['longitude'] . "\n"; $contentStr .= "纬度:" . $v['latitude']; }} echo $contentStr;
如果你填写了自己的apikey,那么应该能获取到所请求的天气了:
如果能返回正常的数据了,那么就可以放到你的域名空间里了。(公众平台里开发者中心填写的url,该url有连接微信接口等功能)
public function responseMsg(){ //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //接收微信发来的XML数据 //extract post data if(!empty($postStr)){ //解析post来的XML为一个对象$postObj $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; //请求消息的用户 $toUsername = $postObj->ToUserName; //"我"的公众号id $keyword = trim($postObj->Content); //用户发送的消息内容 $time = time(); //时间戳 $msgtype = 'text'; //消息类型:文本 $textTpl = ""; if($postObj->MsgType == 'event'){ //如果XML信息里消息类型为event if($postObj->Event == 'subscribe'){ //如果是订阅事件 $contentStr = "欢迎订阅misaka去年夏天!\n更多精彩内容:http://blog.csdn.net/misakaqunianxiatian"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr); echo $resultStr; exit(); } } $which = mb_substr($keyword, 0, 2, 'UTF-8');//获取要返回什么样的信息 if($which== "翻译"){ //如果要进行翻译 //调用有道翻译API进行翻译 }elseif($which == "天气"){ $wea = $which; $city = str_replace($wea, "", $keyword); $ch = curl_init(); $url = 'http://apis.baidu.com/apistore/weatherservice/cityname?cityname=' . $city; $header = array('apikey: '); //此处的apikey使用自己申请的apikey,填在冒号之后 // 添加apikey到header curl_setopt($ch, CURLOPT_HTTPHEADER , $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 执行HTTP请求 curl_setopt($ch , CURLOPT_URL , $url); $res = curl_exec($ch); $res = json_decode($res, true); $contentStr = ""; foreach($res as $k=>$v){ if($k == "retData"){ $contentStr = "城市:" . $v['city'] . "\n"; $contentStr .= "日期:" . $v['date'] . "\n"; $contentStr .= "天气:" . $v['weather'] ."\n"; $contentStr .= "平均气温:" . $v['temp'] . "℃\n"; $contentStr .= "最低气温:" . $v['l_tmp'] ."℃\n"; $contentStr .= "最高气温:" . $v['h_tmp'] . "℃\n"; $contentStr .= "风力:" . $v['WS'] . "\n"; $contentStr .= "风向:" . $v['WD'] . "\n"; $contentStr .= "日出时间:" . $v['sunrise'] . "\n"; $contentStr .= "日落时间:" . $v['sunset'] . "\n"; $contentStr .= "经度:" . $v['longitude'] . "\n"; $contentStr .= "纬度:" . $v['latitude']; } } $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr); echo $resultStr; exit(); }else{ $contentStr = "输入翻译XXX可以进行翻译(=・ω・=)\n\n输入天气XX可以查询城市天气"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr); echo $resultStr; exit(); } %s
完成之后(别忘了填写apikey),你的订阅号里,输入天气上海,那么应该能查到上海当天的天气了。
以上是"微信开发之如何快速查询城市天气"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
天气
城市
气温
查询
时间
内容
消息
开发
上海
订阅
输入
最低
最高
信息
公众
域名
域名空间
数据
日期
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海个性化网络技术开发
客户端服务器不支持一般的ssl
81台A级服务器
海澜之家软件开发工资
1搜索近年来的网络安全事故
数据库mysql 选择题
安卓中微信数据库
服务器接外网
互联网科技创新大赛创新点子
宁波地铁网络安全
杭州有几家网络安全公司
金鹰防盗网络安全吗
网络安全主题活动班会
裕民路国家网络安全大厦
石油与天然气文摘数据库
定制数据库分布式架构
复印机扫描显示服务器连接错误
职中计算机网络技术有问题吗
对网络技术有限公司理解
授时服务器两台电脑时间不一样
德州国家网络安全宣传周活动
电子屏网络安全保障方案
mc服务器管理必备指令
win7 ftp 服务器
软件开发一个开发平台
对网络安全非传统安全的认识
经纶世纪医疗网络技术咋样
福州 大唐网络技术有限公司
面试mysql数据库
微博国际版服务器