以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务。
- 全国天气预报:数据来自国家气象局,可根据地名、经纬度GPS、IP查询对应地区的预报。
- 实时空气质量数据查询:空气质量实时发布的数据
- PM2.5空气质量指数:支持全国367个城市空气质量指数,提供实时空气质量情况,每小时更新,服务支持功能包括:实时查询空气质量,小时粒度;实时给出空气质量级别和首要污染物等
- 全国天气查询-简易版:返回地点、温度、空气湿度、风向、风力等信息
API Shop(apishop.net)提供多达50款的常用第三方API,可以从github上下载代码示例合集:https://github.com/apishop/All-APIs
以上接口均包含PHP、Python、C#和Java等四种语言的代码示例,以 查询天气实况 API为例:
(1)基于PHP的 查询天气实况 API服务请求的代码示例
<?php
$method = "POST";
$url = "https://api.apishop.net/common/weather/queryBaseWeather";
$headers = NULL;
$params = array(
"city" => "", //城市名称,如“广州”
);
$result = apishop_curl($method, $url, $headers, $params);
If ($result) {
$body = json_decode($result["body"], TRUE);
$status_code = $body["statusCode"];
If ($status_code == "000000") {
//状态码为000000, 说明请求成功
echo "请求成功:" . $result["body"];
} else {
//状态码非000000, 说明请求失败
echo "请求失败:" . $result["body"];
}
} else {
//返回内容异常,发送请求失败,以下可根据业务逻辑自行修改
echo "发送请求失败";
}
/**
* 转发请求到目的主机
* @param $method string 请求方法
* @param $URL string 请求地址
* @param null $headers 请求头
* @param null $param 请求参数
* @return array|bool
*/
function apishop_curl(&$method, &$URL, &$headers = NULL, &$param = NULL)
{
// 初始化请求
$require = curl_init($URL);
// 判断是否HTTPS
$isHttps = substr($URL, 0, 8) == "https://" ? TRUE : FALSE;
// 设置请求方式
switch ($method) {
case "GET":
curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");
break;
case "POST":
curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");
break;
default:
return FALSE;
}
if ($param) {
curl_setopt($require, CURLOPT_POSTFIELDS,