功能:调用万年历免费接口,获取返回的数据 分析数据入库
业务: 用户下单不可选择休息日下单,可以选择 日历中的补班日期。
不想人工维护,定时任务调用接口每天获取一次万年历。
使用的接口: 聚合数据 网址:https://dashboard.juhe.cn/
注册一下,实名认证一下就可以用了。点开api申请,里面找到万年历,每天免费100次调用
申请完之后会有一个 Key 这个替换demo中的key就能直接用了
package 你的包名;
import net.sf.json.JSONObject
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/*
* 聚合数据 万年历接口
* csdn 灵活的胖子_
* */
public class Ppcal {
public static final String DEF_CHATSET = "UTF-8";
public static final int DEF_CONN_TIMEOUT = 30000;
public static final int DEF_READ_TIMEOUT = 30000;
public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
//配置申请的KEY
public static final String APPKEY ="配置申请的KEY";
//2.获取近期假期
public static Map<String,Object> getRequest2(String yyyy_mm){
String result =null;
String url ="http://v.juhe.cn/calendar/month";//请求接口地址
Map params = new HashMap();//请求参数
params.put("key",APPKEY);//您申请的appKey
params.put("year-month",yyyy_mm);//指定月份,格式为YYYY-MM,如月份和日期小于10,则取个位,如:2012-1
Map<String,Object>map1 = new HashMap<String, Object>();
try {
result =net(url, params, "GET");
Filex.logs("ppcal.txt","返回数据——"+result);
JSONObject object = JSONObject.fromObject(result);
if(object.getInt("error_code")==0){
JSONObject jsonObject = JSONObject.fromObject(object);
Map<Object, Object> map = (Map)jsonObject;
Map<Object, Object> result1 = (Map)map.get("result");
//获取到返回的data值
Map<Object, Object> data = (Map)result1.get("data");
//所有节假日的多个
List<Map<Object,Object>> holiday = (List<Map<Object,Object>>)data.get("holiday");
for (int i = 0; i < holiday.size(); i++) {
Map<Object, Object> objectObjectMap = holiday.get