免费节假日api接口使用教程-聚合数据

免费节假日api接口使用教程-聚合数据

文章目录

    • 📖访问官网
    • 🌰例子
    • 完整代码
    • 🖊️最后总结

📖访问官网

聚合数据

官网地址 https://dashboard.juhe.cn/home

点击api

image-20231211161513282

image-20231211161555308

image-20231211161612526

接口文档

image-20231211161701759

🌰例子

get方式

image-20231211161910701

curl -k -i -d “key=您申请的AppKey&date=2021-05-09” http://apis.juhe.cn/fapig/calendar/day

返回结果

{"reason": "success","result": {"date": "2021-05-09","week": "星期日","statusDesc": "周末","status": null,"animal": "牛","avoid": "订婚.上梁.纳采.盖屋.开仓","cnDay": "日","day": "9","desc": "母亲节","gzDate": "丁巳","gzMonth": "癸巳","gzYear": "辛丑","isBigMonth": "1","lDate": "廿八","lMonth": "三","lunarDate": "28","lunarMonth": "3","lunarYear": "2021","month": "5","suit": "搬家.装修.开业.结婚.入宅.领证.开工.动土.安床.出行.安葬.开张.作灶.旅游.求嗣.赴任.修造.祈福.祭祀.解除.开市.牧养.纳财.纳畜.开光.嫁娶.移徙.经络.立券.求医.竖柱.栽种.斋醮.求财","term": "","value": "母亲节","year": "2021"},"error_code": 0
}

完整代码

import net.sf.json.JSONObject;import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Map;
import java.util.HashMap;public class ApiDemo {public static void main(String[] args) {// 发送http请求的urlString url = "http://apis.juhe.cn/fapig/calendar/day";Map<String, String> params = new HashMap<String, String>();params.put("key", "您申请的AppKey"); // 在个人中心->我的数据,接口名称上方查看params.put("date", "2021-05-09"); // 指定日期,格式为yyyy-MM-dd,如:2021-05-01String paramsStr = urlencode(params);System.out.println(paramsStr);String response = doGet(url,paramsStr);// // post请求// String response = doPost(url,paramsStr);// 输出请求结果System.out.println(response);try {// 解析请求结果,json:JSONObject jsonObject = JSONObject.fromObject(response);System.out.println(jsonObject);// 具体返回示例值,参考返回参数说明、json返回示例} catch (Exception e) {e.printStackTrace();}}// 将map型转为请求参数型public static String urlencode(Map<String, String> data) {StringBuilder sb = new StringBuilder();for (Map.Entry i : data.entrySet()) {try {sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue() + "", "UTF-8")).append("&");} catch (UnsupportedEncodingException e) {e.printStackTrace();}}return sb.toString();}/*** get方式的http请求** @param httpUrl 请求地址* @param paramStr 请求参数* @return 返回结果*/public static String doGet(String httpUrl,String paramStr) {HttpURLConnection connection = null;InputStream inputStream = null;BufferedReader bufferedReader = null;String result = null;// 返回结果字符串try {httpUrl += "?"+paramStr;// 创建远程url连接对象URL url = new URL(httpUrl);// 通过远程url连接对象打开一个连接,强转成httpURLConnection类connection = (HttpURLConnection) url.openConnection();// 设置连接方式:getconnection.setRequestMethod("GET");// 设置连接主机服务器的超时时间:15000毫秒connection.setConnectTimeout(15000);// 设置读取远程返回的数据时间:60000毫秒connection.setReadTimeout(60000);// 设置请求头connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");// 发送请求connection.connect();// 通过connection连接,获取输入流if (connection.getResponseCode() == 200) {inputStream = connection.getInputStream();// 封装输入流,并指定字符集bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));// 存放数据StringBuilder sbf = new StringBuilder();String temp;while ((temp = bufferedReader.readLine()) != null) {sbf.append(temp);sbf.append(System.getProperty("line.separator"));}result = sbf.toString();}} catch (MalformedURLException e) {e.printStackTrace();} 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;}/*** post方式的http请求** @param httpUrl 请求地址* @param paramStr   请求参数* @return 返回结果*/public static String doPost(String httpUrl, String paramStr) {HttpURLConnection connection = null;InputStream inputStream = null;OutputStream outputStream = null;BufferedReader bufferedReader = null;String result = null;try {URL url = new URL(httpUrl);// 通过远程url连接对象打开连接connection = (HttpURLConnection) url.openConnection();// 设置连接请求方式connection.setRequestMethod("POST");// 设置连接主机服务器超时时间:15000毫秒connection.setConnectTimeout(15000);// 设置读取主机服务器返回数据超时时间:60000毫秒connection.setReadTimeout(60000);// 默认值为:false,当向远程服务器传送数据/写数据时,需要设置为trueconnection.setDoOutput(true);// 设置传入参数的格式:请求参数应该是 name1=value1&name2=value2 的形式。connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");// 通过连接对象获取一个输出流outputStream = connection.getOutputStream();// 通过输出流对象将参数写出去/传输出去,它是通过字节数组写出的outputStream.write(paramStr.getBytes());// 通过连接对象获取一个输入流,向远程读取if (connection.getResponseCode() == 200) {inputStream = connection.getInputStream();// 对输入流对象进行包装:charset根据工作项目组的要求来设置bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));StringBuilder sbf = new StringBuilder();String temp;// 循环遍历一行一行读取数据while ((temp = bufferedReader.readLine()) != null) {sbf.append(temp);sbf.append(System.getProperty("line.separator"));}result = sbf.toString();}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {// 关闭资源if (null != bufferedReader) {try {bufferedReader.close();} catch (IOException e) {e.printStackTrace();}}if (null != outputStream) {try {outputStream.close();} catch (IOException e) {e.printStackTrace();}}if (null != inputStream) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}if (connection != null) {connection.disconnect();}}return result;}
}

🖊️最后总结

🖲要熟练掌握技巧,一定多多坚持练习:骐骥一跃,不能十步;驽马十驾,功在不舍

搞笑点赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/213866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Git提交错误分支

如果 Git 提交到错误的分支&#xff0c;可以通过以下步骤将其转移到正确的分支上&#xff1a; 1.检查当前所在的分支&#xff0c;可以通过 git branch 命令查看。 git branch2.切换到正确的分支&#xff0c;可以通过 git checkout <正确的分支名> 命令进行切换。 git …

vue使用echarts显示中国地图

项目引入echarts以后&#xff0c;在页面创建canvas标签 引入一个公共js文件&#xff08;下面这段代码就是china.js文件&#xff09; (function (root, factory) {if (typeof define function && define.amd) {// AMD. Register as an anonymous module.define([ex…

【EXCEL】折线图添加垂直x轴的竖线|画图

相关链接&#xff1a;excel 添加垂直竖向直线 如何在Excel中添加水平和垂直线&#xff1f; 因为加辅助列有点不习惯&#xff0c;已经有分位数横坐标了&#xff0c;想着试下用散点图的误差线画 效果图&#xff1a; 步骤&#xff1a; s1&#xff1a;随便框选两列数据–>插入(…

大创项目推荐 卷积神经网络手写字符识别 - 深度学习

文章目录 0 前言1 简介2 LeNet-5 模型的介绍2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 在线手写识别7 最后 0 前言…

Unity中实现ShaderToy卡通火(一)

文章目录 前言一、准备好我们的后处理基础脚本1、C#&#xff1a;2、Shader&#xff1a; 二、开始逐语句对ShaderToy进行转化1、首先&#xff0c;找到我们的主函数 mainImage2、其余的方法全部都是在 mainImage 函数中调用的方法3、替换后的代码(已经没报错了&#xff0c;都是效…

智能优化算法应用:基于正余弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于正余弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于正余弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.正余弦算法4.实验参数设定5.算法结果6.参考文…

基于单个参数线性回归的机器学习代码

本文为学习吴恩达版本机器学习教程的代码整理&#xff0c;使用的数据集为https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes/blob/f2757f85b99a2b800f4c2e3e9ea967d9e17dfbd8/code/ex1-linear%20regression/ex1data1.txt 将数据集和py代码放到同一目录中&#xff0c;使…

2023最新八股文前端面试题

第一章 Css 1.说一下CSS的盒模型。 在HTML页面中的所有元素都可以看成是一个盒子盒子的组成:内容content、内边距padding、边框border、外边距margin盒模型的类型: 标准盒模型 margin border padding content IE盒模型 margin content(border padding) 控制盒模型的模式…

淘宝api接口测试方式(item_get-获得淘宝商品详情)

注册淘宝开放平台账号&#xff1a;首先&#xff0c;你需要在淘宝开放平台上注册一个账号&#xff0c;并创建一个应用。获取App Key和Secret Key&#xff1a;在创建应用后&#xff0c;你会获得App Key和Secret Key&#xff0c;这些凭证将用于调用API。了解淘宝商品详情接口&…

【开源】基于Vue+SpringBoot的免税店商城管理系统

文末获取源码&#xff0c;项目编号&#xff1a; S 069 。 \color{red}{文末获取源码&#xff0c;项目编号&#xff1a;S069。} 文末获取源码&#xff0c;项目编号&#xff1a;S069。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.2 研究方法 三、系统…

什么是图片懒加载(image lazy loading)?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

【Flutter】graphic图表实现tooltip一段时间后自动隐藏

概述 graphic图表中提供了自定义tooltip的事件&#xff0c;可通过selections中on和clear配置手势选项和可识别设备&#xff0c;默认情况下tooltip需要双击隐藏&#xff0c;但这并不符合我们的需求。通过调研发现&#xff0c;若想实现tooltip隔几秒后隐藏&#xff0c;可通过Str…

3DMax物理画笔物体填充放置绘制画笔插件安装使用方法

3DMax物理画笔物体填充放置绘制画笔插件&#xff0c;允许您使用笔刷以非常自然的方式用物品快速填充场景&#xff0c;并使用刚体模拟自动放置它们。 无论你是从事建筑、游戏电影还是商业。。。等等&#xff0c;你经常需要用一些物品为你的场景添加细节。手工放置它们是乏味的&…

Threejs发光闪烁提示特效

一、导语 发光闪烁特效应该在我们的项目中是经常需要去封装的一个特效吧&#xff0c;一般用于点击选择&#xff0c;选中物体&#xff0c;或者一些特效加持于中心物体&#xff0c;物体碰撞检测后的发光特效等等 二、分析 我们可以合理的使用后处理特效&#xff0c;上步骤&am…

hive查看数据库出现org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

FAILED: HiveException java,lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 在启动hive后&#xff0c;使用show databses查看数据库时发现&#xff0c;出现了这个错误 情况一&#xff1a; 根据搜索查找以及…

Docker一 | Docker的基本使用

目录 Docker的基本使用 常用命令 启动Docker 查看Docker的运行状态 重启Docker 停止Docker服务 查看命令相关信息 镜像命令 列出本地主机上的镜像 搜索某个镜像的名称 拉取指定的镜像到本地 查看镜像/容器/数据卷所占的空间 删除某个镜像 容器命令 启动容器 列出…

数字电路基础知识系列(六)之LC滤波器的基础知识

LC滤波器&#xff0c;是指将电感(L)与电容器 ©进行组合设计构成的滤波电路&#xff0c;可去除或通过特定频率的无源器件。电容器具有隔直流通交流&#xff0c;且交流频率越高越容易通过的特性。而电感则具有隔交流通直流&#xff0c;且交流频率越高越不易通过的特性。因此…

linux如何使用Xshell远程连接

简介&#xff1a;本文的一切条件基于redhat的linux操作系统。 目录 1、创建虚拟机&#xff1a; 2、使用命令查看网段信息 拓展1&#xff1a;&#xff08;若网卡上没有网段信息&#xff0c;可以使用任意两种方法&#xff09;&#xff1a; 准备工作&#xff1a; 1、点击左…

git入门教程+常用命令

Git入门教程 本文章主要参照视频教程&#xff1a;https://www.bilibili.com/video/BV1FE411P7B3/?spm_id_from333.337.search-card.all.click&vd_source06caf161b187fb3f4c039bc15e238fea 为什么要使用GIT 版本控制是项目、文档迭代的必然要求&#xff0c;所以需要使用…

Springboot自定义start首发预告

Springboot自定义start首发预告 基于Springboot的自定义start , 减少项目建设重复工作, 如 依赖 , 出入参包装 , 日志打印 , mybatis基本配置等等等. 优点 模块化 可插拔 易于维护和升级 定制化 社区支持(后期支持) 发布时间 预告: 2023-12-10 预计发布: 2024-1-1 , 元旦首…