php调⽤和风天⽓api,推荐⼀个免费7天天⽓预报API服务:和
风天⽓
⾸先,这不是软⽂。
最近的⼀个项⽬中需要获取国内城市的7天内天⽓预报,说实话,⽬前的开源环境中仅存的天⽓预报API太少,了许久才发现知乎⾥⾯提到的“和风天⽓”,或许你也曾遇到过这样的问题。
和风天⽓需要注册成为认证开发者才能获得免费7天天⽓预报的资格,注册还是很简单的,我这边申请的认证开发者⼀天就通过了。
和风天⽓认证开发者免费天⽓服务:
国内3181+海外4000热门
7天天⽓预报
实况天⽓
逐三⼩时预报
⽣活指数(基础8项)
空⽓质量实况(国控站点)
每天访问量:14959次
稳定性:99%
技术⽀持:邮件
上⾯是开发者能够取得的API,有点功⼒的开发者就直接上⼿code了,因为⽂档还是很全的,⽽且都是json数据格式,还有提供各种天⽓情况图⽚(虽然不怎么地)。
值得注意的是免费API有访问限制,每天不得超过14959次(这个数字很奇葩,着实没有看出为什么不弄个整数)。
这也就意味着你需要做天⽓数据缓存,如果对天⽓实况要求不⾼的话,可以选择3个⼩时缓存⼀次API数据,这样可以⼤量减少对API接⼝的请求。⾄于如何做数据缓存,有很多种⽅式,⽐如:⽂件存储、数据库存储等等。
附上PHP实例:
function requestByKey(){
//准备请求参数
国内php空间$key ="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$location = "北京";
$curlPost = "key=".$key."&location=".urlencode($location);
//初始化请求链接
$req=curl_init();
//设置请求链接
curl_setopt($req, CURLOPT_URL,'free-api.heweather/s6/weather/now?'.$curlPost);
//设置超时时长(秒)
curl_setopt($req, CURLOPT_TIMEOUT,3);
/
/设置链接时长
curl_setopt($req, CURLOPT_CONNECTTIMEOUT,10);
//设置头信息
$headers=array( "Accept: application/json", "Content-Type: application/json;charset=utf-8" ); curl_setopt($req, CURLOPT_HTTPHEADER, $headers);
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($req, CURLOPT_SSL_VERIFYHOST, false);
$data = curl_exec($req);
curl_close($req);
return $data;
}
扩展:如果你想让天⽓显⽰的⾼⼤上,可以借助百度echarts图标⼯具来美化和优化交互体验。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。