如何用PHP调用API获取空气质量数据_PHP空气质量API调用与环境数据解析教程

首先获取API密钥并构造请求URL,然后使用PHP的cURL发送GET请求获取空气质量数据,接着通过json_decode解析JSON响应提取AQI、PM2.5、PM10等指标,最后进行错误处理与数据展示。

如何用php调用api获取空气质量数据_php空气质量api调用与环境数据解析教程

调用空气质量API获取环境数据在城市健康监测、出行建议等场景中非常实用。PHP作为服务端常用语言,非常适合用来定时抓取和处理这类公开API数据。本文教你如何使用PHP发起HTTP请求,调用空气质量API,并解析返回的JSON数据。

选择合适的空气质量API

目前多个平台提供免费或付费的空气质量数据接口,常见选择包括:

AQICN(http://aqicn.org):覆盖全球城市,需申请Token OpenWeatherMap:支持空气质量扩展,注册后获取API Key 中国生态环境部公开接口:部分城市实时发布,适合国内项目

以 OpenWeatherMap 为例,其空气质量API端点为:
http://api.openweathermap.org/data/2.5/air_pollution?lat={lat}&lon={lon}&appid={API_KEY}

使用PHP发送GET请求获取数据

PHP可以通过 cURL 或 file_get_contents 发起HTTP请求。推荐使用cURL,控制更灵活。

示例代码:

立即学习“PHP免费学习笔记(深入)”;

$lat = 39.9042; // 北京纬度$lon = 116.4074; // 北京经度$apiKey = 'your_api_key_here';$url = "http://api.openweathermap.org/data/2.5/air_pollution?lat={$lat}&lon={$lon}&appid={$apiKey}";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_TIMEOUT, 10);curl_setopt($ch, CURLOPT_USERAGENT, 'AirQuality App v1.0');$response = curl_exec($ch);if (curl_error($ch)) {    die('请求失败: ' . curl_error($ch));}curl_close($ch);

解析JSON响应并提取关键指标

API返回的是JSON格式数据,包含PM2.5、PM10、NO2、SO2等污染物浓度及AQI(空气质量指数)。

使用 json_decode() 将响应转为PHP数组:

$data = json_decode($response, true);if (isset($data['list']) && count($data['list']) > 0) {    $air = $data['list'][0];        echo "AQI: " . $air['main']['aqi'] . "n";    echo "PM2.5: " . $air['components']['pm2_5'] . " µg/m³n";    echo "PM10: " . $air['components']['pm10'] . " µg/m³n";    echo "臭氧(O3): " . $air['components']['o3'] . " µg/m³n";    echo "一氧化碳(CO): " . $air['components']['co'] . " µg/m³n";} else {    echo "未获取到空气质量数据。n";}

AQI通常分为6级:
1 = 优,2 = 良,3 = 轻度污染,4 = 中度污染,5 = 重度污染,6 = 严重污染

错误处理与请求优化建议

实际应用中需考虑网络异常、配额限制等问题。

检查HTTP状态码,非200时记录日志 缓存结果避免频繁请求(如每30分钟一次) 使用Cron定时任务自动更新数据 对敏感信息(如API Key)使用配置文件隔离

可加入简单判断:

$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);if ($httpCode !== 200) {    error_log("API请求异常,状态码:{$httpCode}");}

基本上就这些。只要拿到API权限,构造正确URL,用cURL获取再解析JSON,就能把实时空气质量数据接入你的PHP项目。不复杂但容易忽略细节,比如单位、时区、错误处理。

以上就是如何用PHP调用API获取空气质量数据_PHP空气质量API调用与环境数据解析教程的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1336428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月12日 22:08:42
下一篇 2025年12月12日 22:08:52

相关推荐

发表回复

登录后才能评论
关注微信