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文件数据
新闻热点
疑难解答