
| 接口编号: 506 | 接口名称: 天气预报 | 连接应用: 8179个 |
| 应用编号: 106012 | 应用标识: weather.realtime | 服务商: NowAPI |
说明
重大天气接口升级,整合大量天气功能,真正一个接口搞定所有,含: 1.实时天气,在原有功能基础上新加入风速、能见度、降雨量、气压。 2.未来5-7天预报。 3.未来逐小时预报。 4.PM2.5 aqi。 5.生活指数。 PS: 国外天气无逐小时、AQI、生活指数。 测试示例: https://sapi.k780.com/?app=weather.realtime&weaId=1&ag=today,futureDay,lifeIndex,futureHour&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json (示例中sign会不定期调整) 风向ID对照表 wtWindId
| 风向Id | 风向 | - |
| 0 | 无持续风向 | - |
| 1 | 东北风 | - |
| 2 | 东风 | - |
| 3 | 东南风 | - |
| 4 | 南风 | - |
| 5 | 西南风 | - |
| 6 | 西风 | - |
| 7 | 西北风 | - |
| 8 | 北风 | - |
| 风力Id(wtWinpId) | 风力wtWinpNm | - |
| 0 | 小于3级 | - |
| 1 | 3-4级 | - |
| 2 | 4-5级 | - |
| 3 | 5-6级 | - |
| 4 | 6-7级 | - |
| 5 | 7-8级 | - |
| 6 | 8-9级 | - |
| 7 | 9-10级 | - |
| 8 | 10-11级 | - |
| 9 | 11-12级 | - |
| AQI指数 | 等级 | 指标 | 需注意事项 |
| -1 | - | - | 该地域暂无AQI数据 |
| 0-50 | 1级 | 优 | 参加户外活动呼吸清新空气 |
| 51-100 | 2级 | 良 | 可以正常进行室外活动 |
| 101-150 | 3级 | 轻度污染 | 敏感人群减少体力消耗大的户外活动 |
| 151-200 | 4级 | 中度污染 | 对敏感人群影响较大 |
| 201-300 | 5级 | 重度污染 | 所有人应适当减少室外活动 |
| >300 | 6级 | 严重污染 | 尽量不要留在室外 |
请求网址
HTTP: http://api.k780.com
HTTPS: https://sapi.k780.com
请求方式
Get/Post
请求Header
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
请求参数
| 参数 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| app | string | 是 | weather.realtime |
| weaId | number | 否 | (推荐) 通过weaId查询,例: 1 城市列表城市列表中weaId (参数weaId,cityId,cityNm,cityIp,wgs84ll中取1个作为查询条件) |
| cityId | string | 否 | (推荐) 城市编号查询,例: 101010100 城市列表城市列表中cityId |
| cityNm | string | 否 | 通过中文城市名查询,例: 北京 城市列表城市列表中cityNm (带入前urlencode) |
| cityIp | string | 否 | 通过ip地址查询,例: 202.104.153.201 (不推荐) |
| wgs84ll | string | 否 | 通过经纬度坐标查询,例:116.442708,39.917344 (付费用户可用) (不推荐) |
| ag | string | 否 | 功能显示参数: today,futureDay,lifeIndex,futureHour
today 显示今日天气节点 futureDay 显示天气预报(未来5-7天)节点 lifeIndex 显示相关节点中生活指数节点 futureHour 显示天气预报(逐小时)节点 多个用逗号隔开,可灵活选择 |
| appkey | string | 是 | 使用API的唯一凭证 获取 |
| sign | string | 是 | md5后的32位密文,登陆用. 获取 |
| format | {json|xml} | 否 | 返回数据格式 |
| jsoncallback | string | 否 | js跨域使用jsonp时可使用此参数 |
Json请求示例
http://api.k780.com/?app=weather.realtime&weaid=1&ag=today,futureDay,lifeIndex,futureHour&appkey=APPKEY&sign=SIGN&format=json
Json返回示例
{
success: "1",
result: {
weaid: "1",
cityid: "101010100",
area_1: "北京",
area_2: "城区",
area_3: "",
realTime: {
/*实时天气, 更新小于40分钟*/
week: "星期三",
wtId: "3", /*天气编号 天气类型 wtId*/
wtNm: "阴", /*天气 天气类型 wtNm*/
wtIcon: "02", /*天气图标 天气类型 wtIcon*/
wtTemp: "18", /*温度℃*/
wtHumi: "44", /*湿度%*/
wtWindId: "2", /*风向ID (见面页上方风向ID对照表)*/
wtWindNm: "东风", /*风向*/
wtWinp: "3", /*风力 单位:级 (非风力ID,该值直接为风力级数)*/
wtWins: "12",/*风速 单位:km/h*/
wtAqi: "102", /*pm2.5 aqi*/
wtVisibility: "4.79", /*能见度km*/
wtRainfall: "0.00", /*降雨量mm*/
wtPressurel: "997", /*气压hpa*/
},
today: {
/*今日天气*/
wtBlueSkyId: "1",/*1:可见蓝天 0:无蓝天*/
wtId1: "1",/*天气编号(白天) 天气类型 wtId*/
wtId2: "1",/*天气编号(夜间) 天气类型 wtId*/
wtNm1: "晴",/*天气(白天) 天气类型 wtNm*/
wtNm2: "晴",/*天气编号(夜间) 天气类型 wtNm*/
wtIcon1: "00",/*天气图标(白天) 天气类型 icon*/
wtIcon2: "00",/*天气图标(夜间) 天气类型 icon*/
wtTemp1: "14",/*温度(白天)*/
wtTemp2: "1",/*温度(夜间)*/
wtWindId1: "8",/*风向ID(白天风向 见面页上方风向ID对照表)*/
wtWindId2: "8",/*风向ID(夜间风向 见面页上方风向ID对照表)*/
wtWindNm1: "北风",/*风向*/
wtWindNm2: "北风",/*风向*/
/*此处风力与realTime节点不同,使用风力区间表示,wtWinpId与wtWinpNm对应*/
wtWinpId1: "2",/*风力ID (白天风力 见面页上方风力ID对照表)*/
wtWinpId2: "0",/*风力ID (夜间风力 见面页上方风力ID对照表)*/
wtWinpNm1: "4-5级",/*风力 (白天)*/
wtWinpNm2: "小于3级",/*风力 (夜间)*/
wtSunr: "06:16",/*日出时间*/
wtSuns: "18:26",/*日落时间(24小时制)*/
lifeIndex: { /*指数(含以下5种)*/
uv: {
liNo: "uv",
liNm: "紫外线指数",
liAttr: "最弱",
liDese: "辐射弱,涂擦SPF8-12防晒护肤品。"
},
xt: {
liNo: "xt",
liNm: "血糖指数",
liAttr: "不易波动",
liDese: "天气条件好,血糖不易波动,可适时进行户外锻炼。"
},
ct: {
liNo: "ct",
liNm: "穿衣指数",
liAttr: "较冷",
liDese: "建议着厚外套加毛衣等服装。"
},
xc: {
liNo: "xc",
liNm: "洗车指数",
liAttr: "不宜",
liDese: "有雨,雨水和泥水会弄脏爱车。"
},
kq: {
liNo: "kq",
liNm: "空气污染扩散指数",
liAttr: "良",
liDese: "气象条件有利于空气污染物扩散。"
}
}
},
futureDay: [
/*
未来5-7天气预报,更新每天3次
相关栏位当前时段为夜间时会与白天栏位相同
*/
{
dateYmd: "2019-03-21",
week: "星期四",
wtBlueSkyId: "1",/*1:可见蓝天 0:无蓝天*/
wtId1: "1",/*天气编号(白天) 天气类型 wtId*/
wtId2: "1",/*天气编号(夜间) 天气类型 wtId*/
wtNm1: "晴",/*天气(白天) 天气类型 wtNm*/
wtNm2: "晴",/*天气编号(夜间) 天气类型 wtNm*/
wtIcon1: "00",/*天气图标(白天) 天气类型 icon*/
wtIcon2: "00",/*天气图标(夜间) 天气类型 icon*/
wtTemp1: "14",/*温度(白天)*/
wtTemp2: "1",/*温度(夜间)*/
wtWindId1: "8",/*风向Id(白天)*/
wtWindId2: "8",/*风向Id(夜间)*/
wtWindNm1: "北风",/*风向*/
wtWindNm2: "北风",/*风向*/
/*此处风力与realTime节点不同,使用风力区间表示,wtWinpId与wtWinpNm对应*/
wtWinpId1: "2",/*风力Id(白天)*/
wtWinpId2: "0",/*风力Id(夜间)*/
wtWinpNm1: "4-5级",/*风力(白天)*/
wtWinpNm2: "小于3级",/*风力(夜间)*/
wtSunr: "06:16",/*日出时间*/
wtSuns: "18:26",/*日落时间(24小时制)*/
lifeIndex: {
uv: {
liNo: "uv",
liNm: "紫外线指数",
liAttr: "中等",
liDese: "涂擦SPF大于15、PA+防晒护肤品。"
},
xt: {
liNo: "xt",
liNm: "血糖指数",
liAttr: "易波动",
liDese: "气温多变,血糖易波动,请注意监测。"
},
ct: {
liNo: "ct",
liNm: "穿衣指数",
liAttr: "较冷",
liDese: "建议着厚外套加毛衣等服装。"
},
xc: {
liNo: "xc",
liNm: "洗车指数",
liAttr: "较不宜",
liDese: "风力较大,洗车后会蒙上灰尘。"
},
kq: {
liNo: "kq",
liNm: "空气污染扩散指数",
liAttr: "良",
liDese: "气象条件有利于空气污染物扩散。"
}
}
},
{
dateYmd: "2019-03-22",
week: "星期五",
wtBlueSkyId: "1",
wtId1: "1",
wtId2: "1",
wtNm1: "晴",
wtNm2: "晴",
wtIcon1: "00",
wtIcon2: "00",
wtTemp1: "15",
wtTemp2: "3",
wtWindId1: "7",
wtWindId2: "7",
wtWindNm1: "西北风",
wtWindNm2: "西北风",
wtWinpId1: "1",
wtWinpId2: "1",
wtWinpNm1: "3-4级",
wtWinpNm2: "3-4级",
wtSunr: "06:15",
wtSuns: "18:27",
lifeIndex: {
uv: {
liNo: "uv",
liNm: "紫外线指数",
liAttr: "中等",
liDese: "涂擦SPF大于15、PA+防晒护肤品。"
},
xt: {
liNo: "xt",
liNm: "血糖指数",
liAttr: "不易波动",
liDese: "天气条件好,血糖不易波动,可适时进行户外锻炼。"
},
ct: {
liNo: "ct",
liNm: "穿衣指数",
liAttr: "较冷",
liDese: "建议着厚外套加毛衣等服装。"
},
xc: {
liNo: "xc",
liNm: "洗车指数",
liAttr: "较适宜",
liDese: "无雨且风力较小,易保持清洁度。"
},
kq: {
liNo: "kq",
liNm: "空气污染扩散指数",
liAttr: "良",
liDese: "气象条件有利于空气污染物扩散。"
}
}
},
{
dateYmd: "2019-03-23",
week: "星期六",
wtBlueSkyId: "1",
wtId1: "1",
wtId2: "1",
wtNm1: "晴",
wtNm2: "晴",
wtIcon1: "00",
wtIcon2: "00",
wtTemp1: "13",
wtTemp2: "4",
wtWindId1: "8",
wtWindId2: "5",
wtWindNm1: "北风",
wtWindNm2: "西南风",
wtWinpId1: "1",
wtWinpId2: "1",
wtWinpNm1: "3-4级",
wtWinpNm2: "3-4级",
wtSunr: "06:13",
wtSuns: "18:28",
lifeIndex: {
uv: {
liNo: "uv",
liNm: "紫外线指数",
liAttr: "中等",
liDese: "涂擦SPF大于15、PA+防晒护肤品。"
},
xt: {
liNo: "xt",
liNm: "血糖指数",
liAttr: "不易波动",
liDese: "天气条件好,血糖不易波动,可适时进行户外锻炼。"
},
ct: {
liNo: "ct",
liNm: "穿衣指数",
liAttr: "较冷",
liDese: "建议着厚外套加毛衣等服装。"
},
xc: {
liNo: "xc",
liNm: "洗车指数",
liAttr: "较适宜",
liDese: "无雨且风力较小,易保持清洁度。"
},
kq: {
liNo: "kq",
liNm: "空气污染扩散指数",
liAttr: "中",
liDese: "易感人群应适当减少室外活动。"
}
}
},
......
],
futureHour: [
/*逐小时天气预报(最多会有未来24个小时段) 字段说明与realTime节点相同*/
{
dateYmdh: "2019-03-20 14:00:00",
wtId: "3", /*天气编号 天气类型 wtId*/
wtNm: "阴", /*天气 天气类型 wtNm*/
wtIcon: "02", /*天气图标 天气类型 wtIcon*/
wtTemp: "19", /*温度℃*/
wtWindId: "7", /*风向ID*/
wtWindNm: "西北风", /*风向*/
/*此处风力与realTime节点不同,使用风力区间表示,wtWinpId与wtWinpNm对应*/
wtWinpId: "0", /*风力Id*/
wtWinpNm: "小于3级" /*风力*/
},
{
dateYmdh: "2019-03-20 15:00:00",
wtId: "8",
wtNm: "小雨",
wtIcon: "07",
wtTemp: "19",
wtWindId: "6",
wtWindNm: "西风",
wtWinpId: "0",
wtWinpNm: "小于3级"
},
{
dateYmdh: "2019-03-20 16:00:00",
wtId: "8",
wtNm: "小雨",
wtIcon: "07",
wtTemp: "18",
wtWindId: "6",
wtWindNm: "西风",
wtWinpId: "0",
wtWinpNm: "小于3级"
},
{
dateYmdh: "2019-03-20 17:00:00",
wtId: "8",
wtNm: "小雨",
wtIcon: "07",
wtTemp: "17",
wtWindId: "7",
wtWindNm: "西北风",
wtWinpId: "0",
wtWinpNm: "小于3级"
},
......
]
}
示例代码
<?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.realtime';
$postData['weaid'] = '1';
$postData['ag'] = 'today,futureDay,lifeIndex,futureHour';
$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.realtime',
'weaid' : '1',
'ag' : 'today,futureDay,lifeIndex,futureHour',
'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.realtime&weaid=1&ag=today,futureDay,lifeIndex,futureHour&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.realtime&weaid=1&ag=today,futureDay,lifeIndex,futureHour&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个月,延长试用或次数不够可联系客服增加 |