import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;/** * * @Description: TODO(使用中央天氣預報接口【非官方】調用天氣) * 城市編號參見 http://blog.csdn.net/zhanbiane/article/details/54927340 * @author zhanbian * @date 2017年2月9日 上午10:00:45 */public class Test { public static void main(String[] args) { getWeatherInfo(); } //以上海為例 PRivate static void getWeatherInfo(){ StringBuilder info = new StringBuilder(); BufferedReader buff = null; URL url; try { url = new URL("http://weather.51wnl.com/weatherinfo/GetMoreWeather?cityCode=101020100&weatherType=0"); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.connect(); if(conn.getResponseCode()==HttpURLConnection.HTTP_OK){ buff = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf8")); String str; while((str = buff.readLine())!=null){ info.append(str); } JSONObject jsonObj = JSON.parSEObject(info.toString()); JSONObject weatherinfo = jsonObj.getJSONObject("weatherinfo"); //日期 String weatherDate = weatherinfo.getString("date_y"); //地點 String city = weatherinfo.getString("city"); //溫度 String temp1 = weatherinfo.getString("temp1");//今天 String temp2 = weatherinfo.getString("temp2");//明天 //天氣 String weather1 = weatherinfo.getString("weather1");//今天 String weather2 = weatherinfo.getString("weather2");//明天 //風向 String wind1 = weatherinfo.getString("wind1");//今天 String wind2 = weatherinfo.getString("wind2");//明天 System.out.println("檢測時間:"+weatherDate+"/t城市"+city); System.out.println("今天天氣狀況/t溫度:"+temp1+"/t天氣:"+weather1+"/t風向:"+wind1); System.out.println("明天天氣狀況/t溫度:"+temp2+"/t天氣:"+weather2+"/t風向:"+wind2); } } catch (IOException e) { e.printStackTrace(); }finally{ if(buff!=null){ try { buff.close(); } catch (IOException e) { e.printStackTrace(); } } } }}城市編號參見:http://blog.csdn.net/zhanbiane/article/details/54927340
氣象局官方代言網站,智慧天氣:http://smart.weather.com.cn
要填寫申請信息,審核通過才可,調用需要認證參數。
下面提供幾個免費的接口,(參考:http://www.android100.org/html/201507/24/167958.html)
中華萬年歷:http://wthrcdn.etouch.cn/weather_mini?city=北京通過城市名字獲得天氣數據,json數據http://wthrcdn.etouch.cn/weather_mini?citykey=101010100通過城市id獲得天氣數據,json數據123.毒霸http://weather.123.duba.net/static/weather_info/101121301.html中央天氣預報:http://weather.51wnl.com/weatherinfo/GetMoreWeather?cityCode=101040100&weatherType=0http://weather.51wnl.com/weatherinfo/GetMoreWeather?cityCode=101040100&weatherType=1別的地址:http://wthrcdn.etouch.cn/WeatherApi?citykey=101010100通過城市id獲得天氣數據,xml文件數據,當錯誤時會有<error>節點http://wthrcdn.etouch.cn/WeatherApi?city=北京通過城市名字獲得天氣數據,xml文件數據
新聞熱點
疑難解答