java抓取天氣預(yù)報(bào)代碼 java天氣預(yù)報(bào)接口

如何獲取天氣預(yù)報(bào)的wsdl

1、天氣預(yù)報(bào)web services地址?

創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計(jì),云和網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:云和等地區(qū)。云和做網(wǎng)站價(jià)格咨詢:18982081108

用瀏覽器打開(kāi)此地址,保存頁(yè)面為Weather.xml

2、新建一個(gè)java工程 webservices

建立包名 com.test.ws??

將Weather.xml拷貝到src目錄下

3、編寫(xiě)批處理WSDL-SQUARED.CMD,使用wsdj2java生成客戶端調(diào)用代碼

set?AXIS_HOME=D:\axis-1_4

set?CLASSPATH=.;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar

java?org.apache.axis.wsdl.WSDL2Java??-p?com.test.ws?Weather.xml

大家好 我剛才在寫(xiě)java天氣預(yù)報(bào) 我用json解析的數(shù)據(jù)怎樣放到j(luò)ava界面?

可以在JFrame中添加幾個(gè)Label控件或其他文本控件用來(lái)展示解析出來(lái)的結(jié)果

開(kāi)發(fā)個(gè)java servlet 接口,主要是處理用戶查詢天氣預(yù)報(bào)的請(qǐng)求,返回相應(yīng)的結(jié)果。

簡(jiǎn)單的方法,可以直接在servlet的doGet或doPost里面構(gòu)建這個(gè)xml,然后寫(xiě)回響應(yīng)就可以了。

需要搭建java應(yīng)用服務(wù)器如tomcat服務(wù)器,運(yùn)行這個(gè)servlet就可以。

xml的構(gòu)建對(duì)于Java來(lái)說(shuō)工具很多,JDOM, Dom4J等。

如果客戶端要求用web service方式提供,就考慮Apache CXF這些Java Web服務(wù)框架,不過(guò)一般沒(méi)必要的。

java調(diào)天氣預(yù)報(bào)

①取出地址中的返回值(getWeatherReader方法)

②解析json格式的字符串

③形成你要展示的天氣預(yù)報(bào)效果

public static String getWeatherReader() {//取得接口字符串

String currentLine = "";

String strReturn = "";

URL url = null;

HttpURLConnection conn = null;

InputStream in = null;

BufferedReader buff = null;

try {

url = new URL("");

System.out.println(url.toURI());

//打開(kāi)地址鏈接

conn = (HttpURLConnection)url.openConnection();

conn.connect();

//接收數(shù)據(jù)

in = conn.getInputStream();

//如有亂碼注意編碼方式,如:UTF-8

buff = new BufferedReader(new InputStreamReader(in, "gb2312"));

while((currentLine = buff.readLine()) != null) {

strReturn += currentLine;

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

in.close();

buff.close();

} catch (IOException e) {

return "8EF0000";

}

}

return strReturn;

}

java調(diào)用天氣預(yù)報(bào)api怎么寫(xiě)

//通過(guò)中國(guó)天氣api調(diào)用

private String getWeatherInfo2(){

StringBuilder info = new StringBuilder();

try {

DefaultHttpClient httpclient = new DefaultHttpClient();

HttpGet httget = new HttpGet("");

ResponseHandlerString responseHandler = new BasicResponseHandler();

String responseBody = httpclient.execute(httget, responseHandler);

System.out.println(responseBody);

JsonParser jp = new JsonParser();

JsonElement jse = jp.parse(responseBody);

JsonObject jso = jse.getAsJsonObject().get("weatherinfo").getAsJsonObject();

// String updTime = jso.get("fchh").getAsString();

// if(updTime != null){

// //溫度

// String j = jso.get("temp1").getAsString();//今天

// String m = jso.get("temp2").getAsString();//明天

// //天氣情況

// String j_weather = jso.get("weather1").getAsString();//今天

// String m_weather = jso.get("weather2").getAsString();//明天

// //風(fēng)向風(fēng)力

// String j_wind = jso.get("wind1").getAsString();//今天

// String m_wind = jso.get("wind2").getAsString();//明天

// info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");

// info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");

// }

String updTime = jso.get("fchh").getAsString();

if(updTime != null){

if(!updTime.trim().equals("18")){

//溫度

String j = jso.get("temp1").getAsString();//今天

String m = jso.get("temp2").getAsString();//明天

//天氣情況

String j_weather = jso.get("weather1").getAsString();//今天

String m_weather = jso.get("weather2").getAsString();//明天

//風(fēng)向風(fēng)力

String j_wind = jso.get("wind1").getAsString();//今天

String m_wind = jso.get("wind2").getAsString();//明天

info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");

info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");

}else{

//18

//溫度

String temp1 = jso.get("temp1").getAsString();//今天

String temp2 = jso.get("temp2").getAsString();//今天

String temp3 = jso.get("temp3").getAsString();//今天

String j = temp1.split("~")[1] + "~" + temp2.split("~")[0];

String m = temp2.split("~")[1] + "~" + temp3.split("~")[0];//明天

//天氣情況

String weather1 = jso.get("weather1").getAsString();

String weather2 = jso.get("weather2").getAsString();

String weather3 = jso.get("weather3").getAsString();

String j_weather = "";

String j_weather_part1 = "";

String j_weather_part2 = "";

//判斷是否有轉(zhuǎn)

if(weather1.indexOf("轉(zhuǎn)") 0){

//有

j_weather_part1 = weather1.split("轉(zhuǎn)")[1];

}else{

j_weather_part1 = weather1;

}

if(weather2.indexOf("轉(zhuǎn)") 0){

//有

j_weather_part2 = weather2.split("轉(zhuǎn)")[0];

}else{

j_weather_part2 = weather2;

}

if(j_weather_part1.equalsIgnoreCase(j_weather_part2)){

j_weather = j_weather_part1;//今天

}else{

j_weather = j_weather_part1 + "轉(zhuǎn)" + j_weather_part2;//今天

}

String m_weather = "";

String m_weather_part1 = "";

String m_weather_part2 = "";

//判斷是否有轉(zhuǎn)

if(weather2.indexOf("轉(zhuǎn)") 0){

//有

m_weather_part1 = weather2.split("轉(zhuǎn)")[1];

}else{

m_weather_part1 = weather2;

}

if(weather3.indexOf("轉(zhuǎn)") 0){

//有

m_weather_part2 = weather3.split("轉(zhuǎn)")[0];

}else{

m_weather_part2 = weather3;

}

if(m_weather_part1.equalsIgnoreCase(m_weather_part2)){

m_weather = m_weather_part1;//今天

}else{

m_weather = m_weather_part1 + "轉(zhuǎn)" + m_weather_part2;//明天

}

//風(fēng)向風(fēng)力

String j_wind = jso.get("wind2").getAsString();//今天

String m_wind = jso.get("wind3").getAsString();//明天

info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");

info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");

}

}

} catch (Exception e) {

}

return info.toString();

}

誰(shuí)知道如何在Java中使用天氣預(yù)報(bào)這個(gè)東西,用在自己的網(wǎng)站中,而且可以在自己的網(wǎng)站中查詢天氣,

做軟件的人都不喜歡發(fā)明重復(fù)的輪子,天氣那種情況是用的webservice技術(shù)解決的,通過(guò)SOAP協(xié)議,必須天氣預(yù)報(bào)那個(gè)項(xiàng)目那面提供給你一個(gè)接口才可以,還需要提供給你wsdl文件。 如果想自己實(shí)現(xiàn),那你自己得做一個(gè)那樣的功能。 webservice好處就在于在不同語(yǔ)言中獲取’行為‘,因?yàn)樗峭ㄟ^(guò)xml文件傳遞數(shù)據(jù)。

網(wǎng)頁(yè)標(biāo)題:java抓取天氣預(yù)報(bào)代碼 java天氣預(yù)報(bào)接口
鏈接地址:http://muchs.cn/article30/hgispo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)網(wǎng)站設(shè)計(jì)公司、做網(wǎng)站、網(wǎng)站制作、外貿(mào)建站、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司