天氣接口優化點:
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 }
城市數據:
請看下面附件連接,點擊下載不會亂碼,打開有可能會亂碼。