/*預約會議室 天天早晨一點定會議室 addOAMeeting */
//@Scheduled(cron = "0 0 1 * * ? ")
public void addOAMeeting() {
String bdUrl = Global.getConfig("jdbc.url");
if(!StringUtils.isEmpty(bdUrl)&&bdUrl.contains("ip")){
}else{
return;
}
String username = Global.getConfig("jdbc.username");
if(!"DMS_TEST".equals(username)){
return ;
}
String url = "http://ip:port/IMC/a/login" ;
Connection con = Jsoup
.connect(url);// 獲取鏈接
con.header("User-Agent",
" Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0");// 配置模擬瀏覽器
Connection.Response rs = null;// 獲取響應
try {
rs = con.execute();
} catch (IOException e) {
e.printStackTrace();
}
Document d1 = Jsoup.parse(rs.body());// 轉換爲Dom樹
List<Element> et = d1.select("#loginForm");// 獲取form表單,能夠經過查看頁面源碼代碼得知
// 獲取,cooking和表單屬性,下面map存放post時的數據
Map<String, String> datas = new HashMap<>();
for (Element e : et.get(0).getAllElements()) {
if (e.attr("name").equals("username")) {
e.attr("value", "0546974");// 設置用戶名
}
if (e.attr("name").equals("password")) {
e.attr("value", "123456"); // 設置用戶密碼
}
if (e.attr("name").length() > 0) {// 排除空值表單屬性
datas.put(e.attr("name"), e.attr("value"));
}
}
/**
* 第二次請求,post表單數據,以及cookie信息
*
* **/
Connection con2 = Jsoup
.connect(url);
con2.header("User-Agent",
" Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0");
// 設置cookie和post上面的map數據
Response login = null;
System.out.println(rs.cookies());
try {
login = con2.ignoreContentType(true).method(Method.POST)
.data(datas).cookies(rs.cookies()).execute();
} catch (IOException e) {
e.printStackTrace();
}
// 打印,登錄成功後的信息
System.out.println(login.body());
// 登錄成功後的cookie信息,能夠保存到本地,之後登錄時,只需一次登錄便可
Map<String, String> map = login.cookies();
for (String s : map.keySet()) {
System.out.println(s + " " + map.get(s));
}
/*第三次請求*/
Connection con3 = Jsoup
.connect("http://ip:port/IMC/a/meetbook/meetBook/save");
con3.header("User-Agent",
" Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0");
// 設置cookie和post上面的map數據
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 7);
Date today = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
/*獲取7天后的時間*/
String time = format.format(today);
Map<String, String> datas1 = new HashMap<>();
datas1.put("jobNum","card");
datas1.put("name","name");
datas1.put("office.id","D010001498");
datas1.put("office.name","平臺開發部");
datas1.put("phone","tel");
datas1.put("workSpace","科技園");
datas1.put("meetCode","D2");
datas1.put("dateTime",time);
datas1.put("startTime","08:00");
datas1.put("endTime","08:30");
datas1.put("theme","");
Response login1 = null;
try {
login1 = con3.ignoreContentType(true).method(Method.POST)
.data(datas1).cookies(rs.cookies()).execute();
} catch (IOException e) {
e.printStackTrace();
}
// 打印,登錄成功後的信息
System.out.println(login1.body());
logger.error("*******");
logger.error(login1.body());}