
| 接口编号: 506 | 接口名称: 天气预报 | 连接应用: 8179个 |
| 应用编号: 106004 | 应用标识: weather.today | 服务商: NowAPI |
说明
因历史遗留问题,建议使用 天气数据(整合版) 接口 实时天气信息,每小时更新一次 测试示例: https://sapi.k780.com/?app=weather.today&weaId=1&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json (示例中sign会不定期调整)
请求网址
HTTP: http://api.k780.com
HTTPS: https://sapi.k780.com
请求方式
Get/Post
请求Header
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
请求参数
| 参数 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| weaId | string | 是 | (推荐) 通过weaId查询,例: 1 城市列表城市列表中weaId (参数weaId,cityId,cityNm,cityIp,wgs84ll中取1个作为查询条件) |
| cityId | number | 否 | (推荐) 城市编号查询,例: 101010100 城市列表城市列表中cityId |
| cityNm | string | 否 | 通过中文城市名查询,例: 北京 城市列表城市列表中cityNm (带入前urlencode) |
| cityIp | string | 否 | 通过ip地址查询,例: 202.104.153.201 (不推荐) |
| wgs84ll | string | 否 | 通过经纬度坐标查询,例:116.442708,39.917344 (付费用户可用) |
| appkey | string | 是 | 使用API的唯一凭证 获取 |
| sign | string | 是 | md5后的32位密文,登陆用. 获取 |
| format | {json|xml} | 否 | 返回数据格式 |
| jsoncallback | string | 否 | js跨域使用jsonp时可使用此参数 |
Json请求示例
http://api.k780.com/?app=weather.today&weaId=1&appkey=APPKEY&sign=SIGN&format=json
Json返回示例
1.正常返回
{
"success": "1",
"result": {
"weaid": "1",
"days": "2014-07-30",
"week": "星期三",
"cityno": "beijing",
"citynm": "北京",
"cityid": "101010100",
"temperature": "31℃/24℃", /*白天 夜间温度 (注: 夜间只有一个温度如24℃/24℃)*/
"temperature_curr": "25℃", /*当前温度*/
"humidity": "50%",/*湿度*/
"aqi": "100",/*pm2.5 说明详见weather.pm25*/
"weather": "多云转晴", /*天气*/
"weather_icon": "http://api.k780.com/upload/weather/d/1.gif", /*气象图标 全部气象图标下载*/
"weather_icon1": "", /*无意义不必理会*/
"wind": "微风",/*风向*/
"winp": "小于3级", /*风力*/
"temp_high": "31", /*最高温度*/
"temp_low": "24", /*最低温度*/
"humi_high": "87.8", /*最大湿度 [历史遗留栏位不再更新]*/
"humi_low": "75.2", /*最小湿度 [历史遗留栏位不再更新]*/
"weatid": "2", /*天气ID,可对照weather.wtype接口中weaid*/
"weatid1": "", /*无意义不必理会*/
"windid": "1", /*风向ID(暂无对照表)*/
"winpid": "2" /*风力ID(暂无对照表)*/
"weather_iconid": "1" /*气象图标编号,对应weather_icon 1.gif*/
}
}
2.异常或无数据
{
success: "0",
msgid: "...",
msg: "..."
}
..............示例代码
<?php
header("Content-Type:text/html;charset=UTF-8");
function nowapiRequest($postData,&$errMsg=''){
$apiUrl = 'https://sapi.k780.com/';
$useContext = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => http_build_query($postData)
)
));
if(!$resData=file_get_contents($apiUrl,false,$useContext)){
$errMsg = 'ERR_CONNECT';
return false;
}
if(!$arrData=json_decode($resData,true)){
$errMsg = 'ERR_DECODE';
return false;
}
if($arrData['success']!=1){
$errMsg = $arrData['msgid'].' '.$arrData['msg'];
return false;
}
return $arrData['result'];
}
$postData['app'] = 'weather.today';
$postData['weaId'] = '1';
$postData['appkey'] = '10003';//替换成自己的appkey
$postData['sign'] = 'b59bc3ef6191eb9f747dd4e83c99f2a4';//替换成自己的sign
$postData['format'] = 'json';
$result = nowapiRequest($postData,$errMsg);
print_r($errMsg);
print_r($result);
#python
import json,urllib
from urllib import urlencode
url = 'http://api.k780.com'
params = {
'app' : 'weather.today',
'weaId' : '1',
'appkey' : 'APPKEY',
'sign' : 'SIGN',
'format' : 'json',
}
params = urlencode(params)
f = urllib.urlopen('%s?%s' % (url, params))
nowapi_call = f.read()
#print content
a_result = json.loads(nowapi_call)
if a_result:
if a_result['success'] != '0':
print a_result['result'];
else:
print a_result['msgid']+' '+a_result['msg']
else:
print 'Request nowapi fail.';
import java.net.*;
import java.io.*;
public class test{
public static void main(String args[]) throws Exception {
URL u=new URL("http://api.k780.com/?app=weather.today&weaId=1&appkey=APPKEY&sign=SIGN&format=json");
InputStream in=u.openStream();
ByteArrayOutputStream out=new ByteArrayOutputStream();
try {
byte buf[]=new byte[1024];
int read = 0;
while ((read = in.read(buf)) > 0) {
out.write(buf, 0, read);
}
} finally {
if (in != null) {
in.close();
}
}
byte b[]=out.toByteArray( );
System.out.println(new String(b,"utf-8"));
}
}
curl "http://api.k780.com/?app=weather.today&weaId=1&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"
流量包套餐说明:
买多少用多少,多买有优惠,10元起买,适合大多数应用场景.
| 规格 | 套餐名称 | 价格 | 描述 |
|---|---|---|---|
| 201 | 流量包 1000 次 | 10 元 | 约 0.01 元/次 |
| 202 | 流量包 12500 次 | 100 元 | 约 0.008 元/次 |
| 203 | 流量包 33333 次 | 200 元 | 约 0.006 元/次 |
| 205 | 流量包 125000 次 | 500 元 | 约 0.004 元/次 |
| 206 | 流量包 500000 次 | 1000 元 | 约 0.002 元/次 |
| 208 | 流量包 3000000 次 | 3000 元 | 约 0.001 元/次 |
| 209 | 流量包 5555555 次 | 5000 元 | 约 0.0009 元/次 |
| 210 | 流量包 12500000 次 | 10000 元 | 约 0.0008 元/次 |
包月套餐说明:
适合调用量比较平均的高频应用场景;有配额限制,超出配额会被暂停调用1小时,请留意购买足够配额.
| 规格 | 套餐名称 | 价格 | 描述 |
|---|---|---|---|
| 101 | 1000 次配额/每小时 | 49 元/月 | - |
| 102 | 2000 次配额/每小时 | 96 元/月 | |
| 103 | 3000 次配额/每小时 | 130 元/月 | |
| 104 | 5000 次配额/每小时 | 218 元/月 | |
| 105 | 10000 次配额/每小时 | 439 元/月 | |
| 106 | 20000 次配额/每小时 | 883 元/月 | |
| 107 | 30000 次配额/每小时 | 1332 元/月 | |
| 108 | 40000 次配额/每小时 | 1786 元/月 | |
| 109 | 50000 次配额/每小时 | 2244 元/月 | |
| 110 | 100000 次配额/每小时 | 4800 元/月 | - |
免费试用套餐说明:
商用请选择付费套餐。 (系统繁忙或极端情况下,优先保证付费用户使用).
| 规格 | 套餐名称 | 价格 | 描述 |
|---|---|---|---|
| 0 | 试用套餐 50 次/每小时 | 0 元/月 | 可免费试用3个月,延长试用或次数不够可联系客服增加 |