免费天气API,天气JSON API,不限次数获取十五天的天气预报

上一篇 / 下一篇  2020-04-10 18:02:58

本站之前提供了免费接口:https://www.sojson.com/blog/234.html,但是由于访问量太大,对本站“SOJSON 在线工具”请求经常有影响,现在不得不改变接口地址。原接口需要停用。去年就已经停用,目前每天还有800万每天的调用量。
  紧急情况说明:
  禁用IP列表:
  39.104.69.*(原因39.104.69.6 在2018年10月的 17~20日 排行为top 1,每天几十万次。)
  47.98.211.* (原因47.98.211.131 在2018年11月份长期每天30~40万次每天)
  天气接口优化点:
  1.接口每8小时更新一次,机制是  CDN  缓存8小时更新一次。注意:“自己做缓存,因为你每请求我一次,我就是有费用的,又拍云 CDN加速回源是按次收费,你可以了解下”。
  2.接口采用城市ID来精准查询请求,具体每个城市对应的ID可以查看下面的文件“city.json”每个城市的city_code字段,如果是"",就是省份不能直接查询天气。
  3.如果需要1个小时更新一次的接口,并且支持  https  ,需要付费800元,不限次数,永久有效,不足一年按 12 / 8 * 使用月数退款,提供公司盖章收据。
  4.每分钟阈值为300次,如果超过会禁用一天。请谨慎使用。
  5.增加了独立的年月日字段:ymd 如“2018年12月12日” 原来的date改成了独立的日,如12,增加了独立的星期字段week:如“星期日”,具体看下面返回值说明。
  6.天气取消了昨天天气,增加到了15天天气(2019年02月16日更新)
  接口自问自答
  1、接口能不能 ajax jsonp 的方式调用?
  答:不能,必须后端语言,比如   Java  、PHP、C#,PY等。 注:Android,iOS 之类直接调用,我发现后会封掉,建议后端调用。
  2、接口每天的更新时间是什么时候?
  答:天气更新时间为每天的:3点,8点,13点,19点,所以建议不要凌晨去获取,加上CDN有1个小时的缓存,建议4点,9点,14点,20点后获取。
  3、接口稳定吗?
  答:应该,也许、如果的话,是稳定的。如果不明白的话,你摸着良心觉得您问的是不是废话。
  4、提示403是怎么回事?
  答:此接口理论上不限制次数,如果你一天需要调用大量,比如几十万次一天必封无疑。几万次也有封的可能性比如一瞬间高并发调用,我会酌情考虑封掉。
  5、提示有恶意调用是什么意思?
  答:因为你一直循环调用,没有做缓存,对服务器造成了很大的压力,请参照第五点。
  新天气接口请求参数:
  Java   请求  天气接口  Demo讲解:https://www.sojson.com/blog/349.html (Springboot + Ehcache)
  具体请看下面的city.json文件,下面以天津举例,其他城市ID,请看最下面的城市数据。
  {
  "id": 26,//没有用
  "pid": 0,//没有用,级联关联的上级ID
  "city_code": "101030100",//城市ID
  "city_name": "天津",//城市name
  "post_code": "300000",//邮政编码,这个没有用,您自己的API可以通过邮政编码来转换
  "area_code": "022",//区号,这个没有用,您自己的API可以通过这个来转换
  "ctime": "2019-07-11 17:30:08"//这个没有用
  }
  上面不算参数,只是对于city.json 文件说明一下,有用的参数就city_code的值。其他的都没用,数据提供全一点,希望对您有帮助
  那天津对于的ID就是city_code:101030100。
  请求链接:http://t.weather.sojson.com/api/weather/city/101030100就这个链接,然后get请求,不用再带任何参数。请求是restfull风格,city_code 为9位数字。只要拼接在地址 “http://t.weather.sojson.com/api/weather/city/+city_code” 后面即可。
  接口返回值:
  接口成功返回值:
  {
    "time": "2018-09-22 12:37:21",//系统更新时间
    "cityInfo": {
        "city": "天津市",  //请求城市
        "cityKey": "101030100",//请求ID
        "parent": "天津",     //上级,一般是省份
        "updateTime": "12:32"//天气更新时间
    },
    "date": "20180922",     //当前天气的当天日期
    "message": "Success !", //返回message
    "status": 200,          //返回状态
    "data": {
        "shidu": "22%",     //湿度
        "pm25": 15.0,       //pm2.5
        "pm10": 46.0,       //pm10
        "quality": "优",    //空气质量
        "wendu": "24",      //温度
        "ganmao": "各类人群可自由活动",//感冒提醒(指数)
        "forecast": [//今天+未来14天
            {
                "date": "22",
                "ymd": "2018-09-22",   //年月日  (新增)
                "week": "星期六",       //星期 (新增)
                "sunrise": "05:57",
                "high": "高温 26.0℃",
                "low": "低温 15.0℃",
                "sunset": "18:10",
                "aqi": 55.0,
                "fx": "西北风",
                "fl": "4-5级",
                "type": "晴",
                "notice": "愿你拥有比阳光明媚的心情"
            },
            {
                "date": "23",
                "ymd": "2018-09-22",   //年月日  (新增)
                "week": "星期日",       //星期 (新增)
                "sunrise": "05:58",
                "high": "高温 23.0℃",
                "low": "低温 14.0℃",
                "sunset": "18:09",
                "aqi": 29.0,
                "fx": "西北风",
                "fl": "4-5级",
                "type": "晴",
                "notice": "愿你拥有比阳光明媚的心情"
            },
            {
                "date": "24",
                "ymd": "2018-09-22",   //年月日  (新增)
                "week": "星期一",       //星期 (新增)
                "sunrise": "05:59",
                "high": "高温 24.0℃",
                "low": "低温 15.0℃",
                "sunset": "18:07",
                "aqi": 25.0,
                "fx": "西北风",
                "fl": "<3级",
                "type": "晴",
                "notice": "愿你拥有比阳光明媚的心情"
            },
            {
                "date": "25",
                "ymd": "2018-09-22",   //年月日  (新增)
                "week": "星期二",       //星期 (新增)
                "sunrise": "06:00",
                "high": "高温 24.0℃",
                "low": "低温 16.0℃",
                "sunset": "18:05",
                "aqi": 56.0,
                "fx": "西南风",
                "fl": "<3级",
                "type": "晴",
                "notice": "愿你拥有比阳光明媚的心情"
            },
            {
                "date": "26",  
                "ymd": "2018-09-22",   //年月日  (新增)
                "week": "星期三",       //星期 (新增)
                "sunrise": "06:01",
                "high": "高温 24.0℃",
                "low": "低温 17.0℃",
                "sunset": "18:04",
                "aqi": 86.0,
                "fx": "西南风",
                "fl": "3-4级",
                "type": "阴",
                "notice": "不要被阴云遮挡住好心情"
            }
        ]
    }
 }
  参数错误返回值:
{
    "time": "2018-09-22 12:45:29",
    "message": "CityId不在返回之内。",
    "status":403
}
  参数数位不对返回值:
{
    "message": "Request resource not found.",
    "status": 404
}
  城市数据:
  请在百度网盘下载:链接: https://pan.baidu.com/s/1JFAwnH2MRLc5OD3hsJZwGQ 提取码: u8sk
  JSON City:https://github.com/baichengzhou/weather.api/blob/master/src/main/resources/citycode-2019-08-23.json
添加微信:atstudy-js  或者扫描下方二维码,备注“博客”邀请你进入Python自动化测试学习交流群~~

TAG:

 

评分:0

我来说两句

Open Toolbar