天气API接口的使用
最近项目中使用到了天气预报的功能,需要从网上获取天气数据,然后显示在公司系统的页面上。
在这里和大家分享下我的做法,希望能对大家有所帮助,如果有错误,欢迎大家指正。
先给大家看看效果:
下面开始进行讲解。
1.找API接口
首先先去网上找一个免费的天气API,这里推荐大家去百度API Store找,有免费使用的。
我是用的是
,接口地址是:http://apis.baidu.com/heweather/weather/free
2.后台代码
package com.byteslounge.websockets; import bean.Response; import javax.net.ssl.HttpsURLConnection;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map; public class Weather { public static String requests(String httpUrl, String httpArg) {
BufferedReader reader = null;
String result = null;
StringBuffer sbf = new StringBuffer();
httpUrl = httpUrl + "?" + httpArg; try {
URL url = new URL(httpUrl);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setRequestMethod("GET");
// 填入apikey到HTTP header
connection.setRequestProperty("apikey", "0bc030269671ad02d5730afb5c355b34");
connection.connect();
InputStream is = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String strRead = null;
while ((strRead = reader.readLine()) != null) {
sbf.append(strRead);
sbf.append("\r\n");
}
reader.close();
result = sbf.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
3.前端JSP调用requests()方法
<%
//通过接口获取天气当天天气数据
String jsons = new Weather().requests("http://apis.baidu.com/heweather/weather/free", "city=yinzhou");
String json = new Weather().requests("http://apis.baidu.com/heweather/weather/free", "city=ningbo");
%>
jsons里面的信息:
。
最后大家就可以使用json对数据进行获取,再使用jquery将数据放置在页面上了。这里给大家推荐个json转化器,http://c.runoob.com/front-end/53,可以方便大家进行数据的提取。
天气API接口的使用的更多相关文章
- 天气api接口
python调用天气api接口: http://www.sojson.com/open/api/weather/json.shtml?city=北京 http://www.sojson.com/blo ...
- JAVA的免费天气api接口调用示例
step1:选择本文所示例的接口"免费天气api" url:https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参 ...
- [转]真正的中国天气api接口xml,json
转自:http://blog.csdn.net/fancylovejava/article/details/26102635 我只想说现在网上那几个api完全坑爹有木有??? 官方的申请不来有木有,还 ...
- (转)真正的中国天气api接口xml,json(求加精) ...
我只想说现在网上那几个api完全坑爹有木有??? 官方的申请不来有木有,还有收费有木有?? 咱这种菜鸟只能用免费的了!!!! http://m.weather.com.cn/data/101110 ...
- 推荐几个天气Api接口 (可在小程序中使用)
国内的地图软件基本是支持查询天气的唯独腾讯地图不支持天气查询,当然其他天气平台提供的接口也是够个人使用的 1.高德地图(高德地图开发者平台)支持获取实时天气数据 2.百度地图(百度地图开放平台)支持获 ...
- Weiphp随笔,百度天气API接口
新建插件名必须大写 http://api.map.baidu.com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=json ...
- weather API 天气api接口 收集整理
腾讯 http://sou.qq.com/online/get_weather.php?callback=Weather&city=南京 中国天气-weather.com.cn http:// ...
- 中国天气api接口xml,json
http://m.weather.com.cn/data/101110101.html 大坑有木有??反应慢不说了,还老不更新!! 想贴段代码的,现在又打不 开了(貌似3月4号以后没更新过) ==== ...
- 免费的天气API测试接口
网上几乎所有的天气接口都需要注册key,然后还各种频率限制,每天调用次数才几百次? 太坑爹了吧 一个简单的天气预报功能, 为什么要搞的这么复杂, 收什么费? 推荐一个真正免费的天气API接口, 返回j ...
随机推荐
- Ubuntu 16.04 以太坊开发环境搭建
今天我们来一步一步从搭建以太坊智能合约开发环境. Ubuntu16.04 安装ubuntu16.04.下载链接 //先update一下(或者换国内源再update) sudo apt-get upda ...
- css3相关样式
1.渐变 1.1 线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向 background: linear-gradient(direction, color-stop1 ...
- 纪念Google Reader—Google Reader的最后一天
从2006年到今天,几乎每天我都会打开Google Reader,但是今天不一样,因为它是最后一天.心情有些依依不舍,像是与一位多年老朋友永别.因此我非常痛恨Google,先给你送来个好朋友,再从你身 ...
- JFinal视频教程-JFnal学院分享课
最近JFinal学院出了JFinal视频教程分享课,请笑纳~ 课程列表: 1.[JFinal版]微信小程序富文本渲染解决方案-html2wxml4J分享课 这个课程主要讲的是使用基于JFinal开发的 ...
- centos7使用yum安装不了ffmpeg
[root@localhost]# yum install ffmpeg Loaded plugins: fastestmirror Loading mirror speeds from cached ...
- java 访问docker的环境
1. 配置环境 新增 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock root@ros ...
- UVA 1623 Enther the Dragon 神龙喝水 (贪心)
贪心,每次遇到一个满水的湖要下暴雨的时候,就往前找之前最后一次满水之后的第一个没有下雨的且没有被用掉天day1. 因为如果不选这day1,那么之后的湖不一定能选上这一天.如果这一天后面还有没有下雨的天 ...
- Spark性能调优之道——解决Spark数据倾斜(Data Skew)的N种姿势
原文:http://blog.csdn.net/tanglizhe1105/article/details/51050974 背景 很多使用Spark的朋友很想知道rdd里的元素是怎么存储的,它们占用 ...
- 2018.4.21 如何正确快速安装/卸载云服务器Centos7安装GUI图形化界面GNOME桌面环境
为云服务哦Centos安装图形化界面GNOME .KDE 1.开始前先验证一下能不能上网 ping www.baidu.com 2.接下来开始安装X(X Window System),命令为 yum ...
- opencv c++编译
g++ image2png.cpp -o test `pkg-config --cflags --libs opencv`