天氣API接口的使用

最近項目中使用到了天氣預報的功能,須要從網上獲取天氣數據,而後顯示在公司系統的頁面上。前端

在這裏和你們分享下個人作法,但願能對你們有所幫助,若是有錯誤,歡迎你們指正java

先給你們看看效果:jquery

 

下面開始進行講解。web

1.找API接口json

首先先去網上找一個免費的天氣API,這裏推薦你們去百度API Store找,有無償使用的。api

我是用的是    ,接口地址是:http://apis.baidu.com/heweather/weather/freewebsocket

 

2.後臺代碼app

 

 1 package com.byteslounge.websockets;
 2 
 3 import bean.Response;
 4 
 5 import javax.net.ssl.HttpsURLConnection;
 6 import java.io.BufferedReader;
 7 import java.io.InputStream;
 8 import java.io.InputStreamReader;
 9 import java.net.HttpURLConnection;
10 import java.net.URL;
11 import java.util.HashMap;
12 import java.util.Map;
13 
14 
15 public class Weather {
16 
17     public static String requests(String httpUrl, String httpArg) {
18         BufferedReader reader = null;
19         String result = null;
20         StringBuffer sbf = new StringBuffer();
21         httpUrl = httpUrl + "?" + httpArg;
22 
23         try {
24             URL url = new URL(httpUrl);
25             HttpURLConnection connection = (HttpURLConnection) url
26                     .openConnection();
27             connection.setRequestMethod("GET");
28             // 填入apikey到HTTP header
29             connection.setRequestProperty("apikey",  "0bc030269671ad02d5730afb5c355b34");
30             connection.connect();
31             InputStream is = connection.getInputStream();
32             reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
33             String strRead = null;
34             while ((strRead = reader.readLine()) != null) {
35                 sbf.append(strRead);
36                 sbf.append("\r\n");
37             }
38             reader.close();
39             result = sbf.toString();
40         } catch (Exception e) {
41             e.printStackTrace();
42         }
43         return result;
44 }
45 }

 

 

 

3.前端JSP調用requests()方法socket

 

1 <%
2         //經過接口獲取天氣當每天氣數據
3         String jsons = new Weather().requests("http://apis.baidu.com/heweather/weather/free", "city=yinzhou");
4         String json = new Weather().requests("http://apis.baidu.com/heweather/weather/free", "city=ningbo");
5     %>

 

jsons裏面的信息:url

 

最後你們就能夠使用json對數據進行獲取,再使用jquery將數據放置在頁面上了。這裏給你們推薦個json轉化器,http://c.runoob.com/front-end/53,能夠方便你們進行數據的提取。

相關文章
相關標籤/搜索