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

发布时间 - 2026-01-11 03:20:55    点击率:

天气预报查询接口API,在这里我使用的是国家气象局天气预报接口

使用较多的还有:新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等。

1、查询方式

根据地名查询各城市天气情况

2.请求URL地址

http://route.showapi.com/9-2

3、接口参数说明:

一、系统级参数(所有接入点都需要的参数):

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

4.返回参数

以JSON格式返回结果

1)系统级参数(所有接入点都会返回的参数)

2)应用级参数(系统级输出参数showapi_res_body字段中的json数据结构)

具体调用操作:

PHP中自带了处理json格式字符串的内置函数,下面做一个事例,并给出完整代码:

<?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 != '' && $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?'.$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);  
?>

效果如图:

以上这篇PHP调用API接口实现天气查询功能的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# 天气查询api接口  # PHP本地进行API接口测试的实例  # PHP开发api接口安全验证的实例讲解  # PHP调用接口用post方法传送json数据的实例  # PHP调用接口API封装的例子  # 淄博  # 国家气象局  # 给大家  # 接入点  # 自带  # 所需要  # 官网  # 自己的  # 的是  # 中找到  # 在这  # 数据结构  # 希望能  # 较多  # 做一个  # 如图  # 这篇  # 带了  # 里我  # 小编 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 微信小程序 wx.uploadFile无法上传解决办法  Laravel怎么调用外部API_Laravel Http Client客户端使用  PythonWeb开发入门教程_Flask快速构建Web应用  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  jquery插件bootstrapValidator表单验证详解  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  高防服务器:AI智能防御DDoS攻击与数据安全保障  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  如何在阿里云购买域名并搭建网站?  如何用已有域名快速搭建网站?  如何快速搭建FTP站点实现文件共享?  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Android GridView 滑动条设置一直显示状态(推荐)  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Android仿QQ列表左滑删除操作  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  教你用AI将一段旋律扩展成一首完整的曲子  JavaScript如何实现类型判断_typeof和instanceof有什么区别  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  浅谈redis在项目中的应用  公司门户网站制作流程,华为官网怎么做?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  黑客如何利用漏洞与弱口令入侵网站服务器?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  中国移动官方网站首页入口 中国移动官网网页登录  如何用PHP工具快速搭建高效网站?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  如何在IIS中新建站点并配置端口与IP地址?  如何在Windows 2008云服务器安全搭建网站?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  如何快速搭建个人网站并优化SEO?  如何在云主机上快速搭建多站点网站?  Python图片处理进阶教程_Pillow滤镜与图像增强  如何在阿里云虚拟主机上快速搭建个人网站?  教你用AI润色文章,让你的文字表达更专业  高性价比服务器租赁——企业级配置与24小时运维服务  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  BootStrap整体框架之基础布局组件  如何正确选择百度移动适配建站域名?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】