java接口获取天气预报json数据(只为转载学习)

it2022-05-05  124

原文链接地址

获取到JAVA调用HTTP接口的方法

package wzgr; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public class HttpRequest { public static void main(String[] args) { String b=HttpRequest.sendGet("http://www.XXXX.com/......"); System.out.println(b); } public static String sendGet(String url) { String result = ""; BufferedReader in = null; try { String urlNameString = url; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader (new InputStreamReader(connection.getInputStream(), "UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } }

二、

使用天气接口,接口获取天气,后面的101170301为城市编号。各城市编号连接下载地址"https://download.csdn.net/download/weixin_38959210/10793554";

@RequestMapping(value = "/tianqi.do") public JSONObject tianqi(HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("UTF-8"); System.out.println("/tianqi.do打印出的东西:"+cn.temptation.web.tianqi.sendGet("http://t.weather.sojson.com/api/weather/city/101170301")); return (JSONObject) JSON.parse(cn.temptation.web.tianqi.sendGet("http://t.weather.sojson.com/api/weather/city/101170301")); }

以上为后台代码:

前台html代码为:

<table border="1"> <tr> <td>城市</td> <td id=city></td> </tr> <tr> <td>更新时间</td> <td id=updateTime></td> </tr> <tr> <td>湿度</td> <td id=shidu></td> </tr> <tr> <td>pm2.5</td> <td id=pm25></td> </tr> <tr> <td>pm10</td> <td id=pm10></td> </tr> <tr> <td>空气质量</td> <td id=quality></td> </tr> <tr> <td>温度</td> <td id=wendu></td> </tr> <tr> <td>空气指数</td> <td id=ganmao></td> </tr> </table>

js代码:

$(function(){ function tianqi(){ $.ajax({ url: "tianqi.do", type: "POST", datatype: "json", contentType: "application/json", success: function(data){ $("#time").html(data.time); $("#city").html(data.cityInfo.city); $("#updateTime").html(data.cityInfo.updateTime); $("#shidu").html(data.data.shidu); $("#pm25").html(data.data.pm25); $("#pm10").html(data.data.pm10); $("#quality").html(data.data.quality); $("#wendu").html(data.data.wendu); $("#ganmao").html(data.data.ganmao); }, error:function(){ alert("获取数据失败"); } }); } ## 三 天气API(需注册获取key):https://www.sojson.com/blog/305.html ## 四 免费API(无需注册,不知道稳不稳定):http://t.weather.itboy.net/api/weather/city/101121301 demo地址:https://www.sojson.com/blog/349.html

看完文章了可以试试下面这个接口:

http://i.tianqi.com/index.php?c=code&id=12&icon=1&num=5


最新回复(0)