欢迎来到河北社交动力网络科技有限公司
建站资讯

当前位置: 首页 > 建站资讯 > 建站教程 > PHP教程

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

作者:免费网站模板 来源:php教程视频教程全集日期:2025-11-19
首先获取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(空气质量指数)。

SEEK.ai SEEK.ai

AI驱动的智能数据解决方案,询问您的任何数据并立即获得答案

SEEK.ai 100 查看详情 SEEK.ai

使用 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中文网其它相关文章!

标签: 学php
上一篇: Laravel MPDF 加载多个 Blade 视图生成 PDF 文档
下一篇: 天河区建设企业网站有哪几种方式

推荐建站资讯

更多>