php调用心知天气api完整代码
时间: 2024-11-08 19:13:09 浏览: 50
以下是使用PHP直接通过cURL调用心知天气API获取天气数据的一个简短示例。请注意,这个示例假设你已经有了一个有效的API密钥并且已经在服务器上安装了cURL库。
```php
<?php
// 定义API密钥
$apiKey = 'YOUR_API_KEY';
// 设置API URL
$city = '北京'; // 替换为你想查询的城市
$url = "https://api.knowsky.com/weather/v1/report?city={$city}";
// 创建请求头
$headers = array(
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
);
// 发送HTTP GET请求
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $headers,
));
$response = curl_exec($ch); // 执行请求
// 检查请求状态
if(curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
$curl_info = curl_getinfo($ch);
if ($curl_info['http_code'] == 200) {
// 解析JSON响应
$decodedResponse = json_decode($response, true);
// 访问天气数据
$temperature = $decodedResponse['data']['realtime'][0]['temperature'];
$weatherDesc = $decodedResponse['data']['forecast'][0]['mainDesc'];
// 输出天气数据
echo "当前温度:$temperature°C,天气描述:$weatherDesc";
} else {
echo "请求状态码:" . $curl_info['http_code'];
}
}
// 关闭cURL连接
curl_close($ch);
?>
```
在这个例子中,你需要替换`YOUR_API_KEY`为实际的心知天气API密钥。注意,由于API调用可能受到速率限制,请确保遵守其服务条款和使用策略。
阅读全文