前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP调用API接口实现天气查询功能的示例

PHP调用API接口实现天气查询功能的示例

作者头像
用户2323866
修改2021-07-08 14:16:24
2.6K0
修改2021-07-08 14:16:24
举报
文章被收录于专栏:技术派

天气预报查询接口API,在这里我使用的是国家气象局天气预报接口 使用较多的还有:新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等。 1、查询方式 根据地名查询各城市天气情况 2.请求URL地址

http://route.showapi.com/9-2 3、接口参数说明: 一、系统级参数(所有接入点都需要的参数):

二、应用级参数(每个接入点有自己的参数):

4.返回参数 以JSON格式返回结果 1)系统级参数(所有接入点都会返回的参数) 2)应用级参数(系统级输出参数showapi_res_body字段中的json数据结构) /【要记得博客地址www.isres.com】/具体调用操作: PHP中自带了处理json格式字符串的内置/【php教程_linux常用命令_网络运维技术】/函数,下面做一个事例,并给出完整代码:

<?php //查找淄博天气情况 //接口自带编写的数组 $showapi_appid = '46435'; //替换此值,在官网的"我的应用"中找到相关值 $showapi_secret = '7c55aef4ede442ffa49b24c2c808e523'; //替换此值,在官网的"我的应用"中找到相关值 $paramArr = array( 'showapi_appid'=> $showapi_appid, 'areaid'=> "", 'area'=> "淄博", 'needMoreDay'=> "", 'needIndex'=> "", 'needHourData'=> "", 'need3HourForcast'=> "", 'needAlarm'=> "" //添加其他参数 );

//创建参数(包括签名的处理)接口自带编写的数组 function createParam ($paramArr,$showapi_secret) { $paraStr = ""; $signStr = ""; ksort($paramArr); foreach ($paramArr as $key => $val) { if ($key != '' &amp;&amp; $val != '') { $signStr .= $key.$val; $paraStr .= $key.'='.urlencode($val).'&'; } } $signStr .= $showapi_secret;//排好序的参数加上secret,进行md5 $sign = strtolower(md5($signStr)); $paraStr .= 'showapi_sign='.$sign;//将md5后的值作为参数,便于服务器的效验

return $paraStr; }

$param = createParam($paramArr,$showapi_secret); $url = 'http://route.showapi.com/9-2&#63;'.$param;

//获取json格式的数据 $result = file_get_contents($url);

//对json格式的字符串进行编码 $arr = (json_decode($result));

$v = $arr->showapi_res_body;$attr = $v->f1;

//所需要的数据进行调用 $arr1 = $attr->day_weather; $arr2 = $attr->night_weather; $arr3 = $attr->night_air_temperature; $arr4 = $attr->day_air_temperature; $arr5 = $attr->day_wind_direction; $arr6 = $attr->night_weather_pic; echo $arr6; ?> //将所需要的数据添加到数据库 <?php require_once "./DBDA.class.php"; $db = new DBDA();

$sql = "insert into weather values('','{$arr1}','{$arr2}')"; $arr = $db->query($sql); ?>

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档