天气接口优化点:
1.接口每8小时更新一次,机制是 CDN 缓存8小时更新一次。注意:“本身作缓存,由于你每请求我一次,我就是有费用的,又拍云 CDN加速回源是按次收费,你能够了解下”。ajax
2.接口采用城市ID来精准查询请求,具体每一个城市对应的ID能够查看下面的文件“city.json”每一个城市的city_code字段,若是是"",就是省份不能直接查询天气。json
3.若是须要1个小时更新一次的接口,而且支持 https ,须要付费800元,不限次数,永久有效,不足一年按 12 / 8 * 使用月数退款,提供公司盖章收据。后端
4.每分钟阈值为300次,若是超过会禁用一天。请谨慎使用。api
5.增长了独立的年月日字段:ymd 如“2018年12月12日” 原来的date改为了独立的日,如12,增长了独立的星期字段week:如“星期日”,具体看下面返回值说明。缓存
6.天气取消了昨每天气,增长到了15每天气(2019年02月16日更新)服务器
接口自问自答
一、接口能不能 ajax jsonp 的方式调用?
答:不能,必须后端语言,好比 Java 、PHP、C#,PY等。 注:Android,iOS 之类直接调用,我发现后会封掉,建议后端调用。restful
二、接口天天的更新时间是何时?
答:天气更新时间为天天的:3点,8点,13点,19点,因此建议不要凌晨去获取,加上CDN有1个小时的缓存,建议4点,9点,14点,20点后获取。并发
三、接口稳定吗?
答:应该,也许、若是的话,是稳定的。若是不明白的话,你摸着良心以为您问的是否是废话。高并发
四、天气有哪些状态?天气图片哪里获取?
答:请加QQ群:608222884 (验证消息“sojson api”),群内有所有的类型和参考文件。此群不收费,不要发广告。jsonp
五、提示403是怎么回事?
答:此接口理论上不限制次数,若是你一天须要调用大量,好比几十万次一天必封无疑。几万次也有封的可能性好比一瞬间高并发调用,我会酌情考虑封掉。
六、提示有恶意调用是什么意思?
答:由于你一直循环调用,没有作缓存,对服务器形成了很大的压力,请参照第五点。
新天气接口请求参数:
具体请看下面的city.json文件,下面以天津举例。
{ "_id": 26, "id": 26, "pid": 0,//父ID "city_code": "101030100",//接口须要的city_code "city_name": "天津" }
上面不算参数,只是对于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": "天津市", //请求城市 "cityId": "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 }
城市数据:
请看下面附件连接,点击下载不会乱码,打开有可能会乱码。