免费天气API,天气JSON API,不限次数获取十五天的天气预报
本站之前提供了免费接口: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 的方式调用?
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 } |
城市数据:
JSON City:https://github.com/baichengzhou/weather.api/blob/master/src/main/resources/citycode-2019-08-23.json
TAG: