1.进入聚合数据进行注册、实名认证、领取免费天气API接口

聚合数据官网
①进入官网后注册(此步骤忽略自行操作)
②个人中心->账号管理->实名认证
③搜索框中输入天气关键字、免费领取天气预报API

④进入个人中心->数据中心就可以看见领取的天气API

可以进入测试界面尝试测试一下API
可以看到请求详情的一些参数:请求地址、请求参数、请求方式、请求头
细心的小伙伴会注意到两个参数的不同,其中参数一:city表示我们要查询出哪一座城市的天气数据,但是明显城市名被进行了编码操作。参数二: key与下图的请求key是一致的

2.编写代码测试接口

测试代码前需要在项目工程中引入fastjson2jar包

public class WeatherAPITest {public static final String API_URL = "http://apis.juhe.cn/simpleWeather/query"; // 请求第三方服务器地址public static final String API_KEY = "515a64ce1d92c586076ef2ed55bab33e"; // 请求keypublic static final int RESULT_CODE = 200; // 响应结果public static void main(String[] args) {JSONObject jsonObject = queryWeather("上海");System.out.println(jsonObject);}public static JSONObject queryWeather(String city) {JSONObject jsonObject = null;HashMap<String, String> params = new HashMap<>();params.put("city",city);params.put("key",API_KEY);// 请求参数进行编码操作String requestParams = paramsEncode(params);// 请求第三方服务器String response = doGet(API_URL, requestParams);try {jsonObject = JSONObject.parseObject(response);int errorCode = jsonObject.getInteger("error_code");if (errorCode == 0) {System.out.println("调用接口成功");} else {System.out.println("调用接口失败:" + jsonObject.getString("reason"));}} catch (Exception e) {e.printStackTrace();}return jsonObject;}/*** get方式的http请求** @param httpUrl 请求地址* @return 返回结果*/public static String doGet(String httpUrl, String queryParams) {HttpURLConnection connection = null;InputStream inputStream = null;BufferedReader bufferedReader = null;String result = null;try {// 创建远程url连接对象URL url = new URL(httpUrl + "?" + queryParams);// 通过远程url连接对象打开一个连接,强转成httpURLConnection类connection = (HttpURLConnection) url.openConnection();// 设置连接方式:getconnection.setRequestMethod("GET");// 设置连接主机服务器的超时时间:15000毫秒connection.setConnectTimeout(5000);// 设置读取远程返回的数据时间:60000毫秒connection.setReadTimeout(6000);// 发送请求connection.connect();// 通过connection连接,获取输入流if (connection.getResponseCode() == RESULT_CODE) {inputStream = connection.getInputStream();// 封装输入流,并指定字符集bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));// 存放数据StringBuilder sbf = new StringBuilder();String temp;while ((temp = bufferedReader.readLine()) != null) {sbf.append(temp);}result = sbf.toString();}} catch (IOException e) {e.printStackTrace();} finally {// 关闭资源if (null != bufferedReader) {try {bufferedReader.close();} catch (IOException e) {e.printStackTrace();}}if (null != inputStream) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}if (connection != null) {// 关闭远程连接connection.disconnect();}}return result;}/***** @param param 请求参数* @return 编码过后的请求参数*/public static String paramsEncode(HashMap<String, String> param) {StringBuffer str = new StringBuffer();for (Map.Entry<String, String> res : param.entrySet()) {try {str.append(res.getKey()).append("=").append(URLEncoder.encode(res.getValue(), "UTF-8")).append("&");} catch (UnsupportedEncodingException e) {e.printStackTrace();}}int index = str.lastIndexOf("&");return str.toString().substring(0, index);}
}

结果展示:

{"reason":"查询成功!","result":{"city":"上海","realtime":{"temperature":"11","humidity":"52","info":"多云","wid":"01","direct":"西风","power":"2级","aqi":"35"},"future":[{"date":"2022-12-06","temperature":"6\/13℃","weather":"多云","wid":{"day":"01","night":"01"},"direct":"东北风"},{"date":"2022-12-07","temperature":"11\/14℃","weather":"多云转阴","wid":{"day":"01","night":"02"},"direct":"东风"},{"date":"2022-12-08","temperature":"10\/14℃","weather":"小雨转阴","wid":{"day":"07","night":"02"},"direct":"东风转东北风"},{"date":"2022-12-09","temperature":"10\/13℃","weather":"阴转多云","wid":{"day":"02","night":"01"},"direct":"东北风转西北风"},{"date":"2022-12-10","temperature":"8\/13℃","weather":"晴","wid":{"day":"00","night":"00"},"direct":"西北风"}]},"error_code":0
}

至此调用聚合数据平台天气接口就演示完毕。

调用聚合数据平台天气接口相关推荐

  1. Java代码调用聚合数据---查询全国车辆违章接口返回违章结果

    1.注册聚合数据账号,完成认证,申请数据接口 打开https://www.juhe.cn/,点击最右侧的注册 输入自己的信息注册就行了 注册完成后,认证一下,公司认证或者个人认证都可以,但是调用全国车 ...

  2. 老黄历java_基于聚合数据的老黄历接口调用示例-JAVA版

    本文介绍聚合数据的老黄历接口的使用 依赖 net.sf.json-lib json-lib 2.2.3 jdk15 代码部分 package com.example.demo; import net. ...

  3. 调用聚合数据新闻头条API接口

    基于聚合数据新闻头条接口 支持阅读新闻类型包括: 各类社会.国内.国际.体育.娱乐.科技等资讯,更新周期5-30分钟. 新闻内容类型的多选,支持皮肤功能. 使用前需要有聚合数据账号,并实名制后通过 新 ...

  4. 调用聚合数据API实现手机号码归属地查询

    调用聚合数据API实现手机号码归属地查询 1.作者介绍 2.相关介绍 2.1 什么是聚合数据? 2.2 API介绍 2.3 手机号码归属地 3.实验过程 3.1如何调用聚合数据API 3.2代码实现 ...

  5. 获取天气数据 (根据天气接口返回的数据)

    第一次写博客(如有侵权请通知我,立马删除) 获取天气数据 (根据天气接口返回的数据) 接口:心知天气 ulr:https://api.seniverse.com/v3/pro/weather/grid ...

  6. JS调用万维易源、聚合数据提供的接口获取7天天气预报

    获取天气一般都是通过城市名.ip等调用接口得到的:那么我们就先来拿城市或者ip. 现在比较好用的,也是我在用的是搜狐的接口: 引入 < script src="https://cdn. ...

  7. php老黄历源码,基于聚合数据的老黄历接口调用示例-PHP版

    前期准备 你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key 接口说明 免费使用,根据会员等级不同,每日可调用次数不同,具体登录聚合数据官网查看 提供老黄历查询,黄 ...

  8. android 和风天气 调用示例,Android中 GsonFormat插件解析Jason 数据+和风天气接口解析案例(示例代码)...

    首先 转载自http://www.cnblogs.com/androidsuperman/p/4579249.html     感谢 @西北野狼  同学. 第一部分: GsonFormat 插件基本使 ...

  9. 聚合数据 自己定义接口 超简单demo

    第一步** 我们首先知道 聚合数据 这个网站 我们具体的架构 都是参考 聚合数据这个网站的 如果你比较了解的话 可以 快速往下看 第二步 关于那个网站,读者可以自己去玩一玩, 那么重点是 我们如何设计 ...

最新文章

  1. SpringBoot (四) :SpringBoot整合使用JdbcTemplate
  2. 关于NB-IoT的十大问题和答案【转】
  3. OSPF虚拟链路实验
  4. 英伟达再发边缘AI计算设备:仅信用卡大小,性能比TX2强15倍
  5. “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)
  6. 前端学习(2966):上午回顾
  7. lsoci mysql_flask项目从sqlite3升级的mysql数据库
  8. python3获取用户输入_python3.4控制用户输入与输出
  9. 计算机基础优秀教案范文,《计算机基础知识与基本操作》教学课例(教学设计三等奖)...
  10. 一文看懂PHP如何实现依赖注入
  11. 数值积分NIntegrate中的具体算法
  12. GitHub:Octotree与GitHub1s插件的介绍与使用
  13. logistic回归分析优点_SPSS教程|二分类logistic回归及SPSS操作
  14. matlab实现振动弹簧的实时动画,Matlab实现振动弹簧的实时动画
  15. VC6.0多行注释快捷键的设置
  16. 老人疯狂裂变引流视频推广微信小程序源码支持定时流量主
  17. 计算机远程协助是什么,Windows7系统下远程协助和远程桌面有什么区别?
  18. TopCoder SRM 682 Div2 1000 FriendlyRobot
  19. UOJ449 集训队作业2018 喂鸽子
  20. 地级市面板数据(2000-2019)四:失业+进出口+工资+规上企业+房地产等(stata版)

热门文章

  1. C51单片机之keil编程入门(一)
  2. 如何检索国家自然科学基金项目信息并下载结题报告
  3. Ubuntu 下Android开发环境搭建
  4. 一直在路上 | 多位顶尖技术大咖入驻腾讯云最具价值专家
  5. mini2440的LEDS驱动程序和测试程序详解
  6. macbook air 单独安装纯净win7OS
  7. Module ‘“../node_modules/@types/react-router“‘ has no exported member ‘withRouter‘.
  8. 如何keil4下面创建工程?
  9. 智能安全加密芯片---ACL16
  10. 计算机总是提示网络电缆没有插,网络电缆没有插好原因与解决方法【图文教程】...