实时天气

查询国内城市气象数据,同时也支持国外热门城市查询
接口编号: 506接口名称: 天气预报连接应用: 8179个
应用编号: 106004应用标识: weather.today服务商: NowAPI

说明

实时天气信息,每小时更新一次

更新日志:
2015-05-13 weaid参数可指定IP地址(系统会分析该IP所在城市,并提取该城市天气数据)
2015-01-01 增加实时湿度 temperature_curr和temp_curr栏位.
2018-04-13 增加aqi pm2.5字段.

测试示例: http://api.k780.com/?app=weather.today&weaid=1&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json (示例中sign会不定期调整)

请求方式

Get/Post

请求url

 HTTP: http://api.k780.com
HTTPS: https://sapi.k780.com

请求参数

参数 类型 是否必须 备注
weaid string 城市气象编号,可以是beijing(拼音)/北京(城市名)/1(NowAPI定义的编号*推荐)/101010100(气象局编号)/202.104.153.201(ip地址)
参考weather.city中的weaid,cityid,citynm
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

JsonP请求示例

http://api.k780.com/?app=weather.today&weaid=1&appkey=APPKEY&sign=SIGN&format=json&jsoncallback=data

Xml请求示例

http://api.k780.com/?app=weather.today&weaid=1&appkey=APPKEY&sign=SIGN&format=xml

Json返回示例

1.正常返回
{
    "success": "1",
    "result": {
        "weaid": "1",
        "days": "2014-07-30",
        "week": "星期三",
        "cityno": "beijing",
        "citynm": "北京",
        "cityid": "101010100",
        "temperature": "31℃/24℃", /*当日温度区间*/
        "temperature_curr": "21℃", /*当前温度*/
        "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 nowapi_call($a_parm){
    if(!is_array($a_parm)){
        return false;
    }
    //combinations
    $a_parm['format']=empty($a_parm['format'])?'json':$a_parm['format'];
    $apiurl=empty($a_parm['apiurl'])?'http://api.k780.com/?':$a_parm['apiurl'].'/?';
    unset($a_parm['apiurl']);
    foreach($a_parm as $k=>$v){
        $apiurl.=$k.'='.$v.'&';
    }
    $apiurl=substr($apiurl,0,-1);
    if(!$callapi=file_get_contents($apiurl)){
        return false;
    }
    //format
    if($a_parm['format']=='base64'){
        $a_cdata=unserialize(base64_decode($callapi));
    }elseif($a_parm['format']=='json'){
        if(!$a_cdata=json_decode($callapi,true)){
            return false;
        }
    }else{
        return false;
    }
    //array
    if($a_cdata['success']!='1'){
        echo $a_cdata['msgid'].' '.$a_cdata['msg'];
        return false;
    }
    return $a_cdata['result'];
}

$nowapi_parm['app']='weather.today';
$nowapi_parm['weaid']='1';
$nowapi_parm['appkey']='APPKEY';
$nowapi_parm['sign']='SIGN';
$nowapi_parm['format']='json';
$result=nowapi_call($nowapi_parm);
var_dump($result);
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"));
    }
}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript" src="https://www.nowapi.com/style/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
     $.ajax({
        type          : 'get',
        async         : false,
        url           : 'http://api.k780.com/?app=weather.today&weaid=1&appkey=APPKEY&sign=SIGN&format=json&jsoncallback=data',
        dataType      : 'jsonp',
        jsonp         : 'callback',
        jsonpCallback : 'data',
        success       : function(data){
            if(data.success!='1'){
                alert(data.msgid+' '+data.msg);
                exit;
            }
            //遍历
            var description = "";
            for(var i in data.result){
                var property=data.result[i];
                description+=i+" = "+property+"\n";
            }
            alert(description);
        },
        error:function(){
            alert('fail');
        }
    });
});
</script>
</head>
<body>
</body>
</html>

curl "http://api.k780.com/?app=weather.today&weaid=1&appkey=APPKEY&sign=SIGN&format=json"

流量包套餐

10元/15000次;买多少用多少,多买有优惠,10元起买,适合大多数应用场景。 费用计算

包月套餐

48.00元每月/每小时1000次调用配额;1000次配额起买,适合调用量比较平均的高频应用场景。 费用计算

实时付套餐

每次调用0.001元,与其它接口共享帐号内余额,适合低频调用场景。 费用计算

免费试用

每小时200次配额;每秒1次并发限制,商用请选择付费套餐。 (系统繁忙或极端情况下,优先保证付费用户使用) 马上试用

客户服务

客服QQ: 1597000273 

客服微信:

商务合作/大客户

362705971 

数据定制

定制接口、定制数据格式、采集等;联系请提供数据样式范本。1597000273 

意见反馈