/*预定会议室 每天早晨一点定会议室   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());}

转载于:https://www.cnblogs.com/a6948076/p/11473900.html

会议室预定模拟登陆网站相关推荐

  1. winform模拟登陆网页_【教程】模拟登陆网站 之 C#版(内含两种版本的完整的可运行的代码)...

    之前已经介绍过了网络相关的一些基础知识了: 以及简单的网页内容抓取,用C#是如何实现的: 现在接着来介绍,以模拟登陆百度首页: 为例,说明如何通过C#模拟登陆网站. 不过,此处需要介绍一下此文前提: ...

  2. 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程

    声明:本文章转载自crifan的技术人生 [教程]手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程 重要提示: 1.此贴,以后不再更新: 2.想要看更新的内容,请移 ...

  3. 使用htmlUnit模拟登陆网站(有验证码和无验证码)

    最近在学习模拟登陆,本来想使用httpClient抓取数据,但是奈何不会.在机缘巧合下看到了HtmlUnit废话不多说. 上代码. 需要的jar包: 主要的jar包是htmlUnit.jar,可在官网 ...

  4. 使用C#的HttpWebRequest模拟登陆网站

    很久没有写新的东西了,今天在工作中遇到的一个问题,感觉很有用,有种想记下来的冲动. 这篇文章是有关模拟登录网站方面的. 实现步骤: 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话 ...

  5. 使用C#的HttpWebRequest模拟登陆网站(续)

    上一篇文章中我们讲了,如何采用程序模拟登录网站,并获取登录后网站的内容,今天在此基础上继续将,通过程序登录了网站后而直接进入登录后的页面. 首先还是发起一个启用一个web会话,然后发送模拟数据请求,获 ...

  6. java 模拟平台_用Java程序模拟登陆网站平台

    由于想测试性能,想模拟多个用户同时登陆系统进行访问,于是写了一个例子. 代码如下: URL url = null; HttpURLConnection httpurlconnection = null ...

  7. php 模拟登陆网站抢票,【附源码】程序员做的这款抢票神器,在GitHub火了

    最近临近国庆节,大家都是归心似箭的「其实都是一批想出去的玩的」.但是一碰到这种节假日,买票就是贼难买的,况且是这种七天长假,宅在家里没事做,出去玩是必然的. 买不到票了咋办,抢票呗.以前还要手动抢,从 ...

  8. python 2.7 简单模拟登陆网站

    举个栗子,首先创建网络会话, 然后就可以用创建的session来访问网页了. session.get(URL) #-*- coding:utf-8 -*- import requests import ...

  9. 【转】 浏览器分析模拟登陆过程

    原文地址:http://www.crifan.com/use_ie9_f12_to_analysis_the_internal_logical_process_of_login_baidu_main_ ...

  10. Python 爬虫实战,模拟登陆爬取数据

    Python 爬虫实战,模拟登陆爬取数据 从0记录爬取某网站上的资源连接: 模拟登陆 爬取数据 保存到本地 结果演示: 源网站展示: 爬到的本地文件展示: 环境准备: python环境安装 略 安装r ...

最新文章

  1. linux命令之crontab定时执行任务【转】
  2. C++ 复制vector值到array,复制 array 到jintArray
  3. Velodyne收购高清地图公司 将研发更安全的ADAS系统
  4. 直播报名 | 基金业数字化运营指标体系建设
  5. Inception网络 运行在Cifar10 测试集87.88% Tensorflow 2.1 小白从代码实践中 理解
  6. python 随机数_python 随机数
  7. Effective C# 原则38:使用和支持数据绑定(译)
  8. Android4.2之Camera系统HAL调用流程
  9. java 中button和jbutton输出的按钮不一样_Java学习教程(基础)--Java开发环境搭建
  10. Atitit 数据类型体系图 目录 1. 系统常用的数据类型 1 2. H5 form表单新数据类型 2 2.1. TML5 新的 Input 类型 2 2.2. HTML5 的新的表单元素: 2
  11. 3-matlab求秩和比代码
  12. influxdb数据过期_influxdb 清空数据库
  13. java自己写的视频截图工具
  14. 评测了10款画流程图软件,这4款最好用!(完全免费)
  15. 刘汉国老师的3路单火智能开关
  16. ubuntu16.04搭建samba服务器
  17. peta linux对电脑配置要求,使用petalinux遇到的一些问题汇总
  18. 安全驾驶:上海科目二-全部科目-笔记整理-祝你考试一把过!
  19. 游戏防外挂、破解解决方案
  20. 基于SSM的超市会员管理系统

热门文章

  1. MyEclipse+Tomcat+JSP开发环境配置
  2. 浏览器兼容之旅的第二站:各浏览器的Hack写法
  3. 推荐:用ogr和PIL把矢量数据转化成栅格图像
  4. 动态规划 --- 13.1 Triangle ---- 相邻路径最小和 -- 图解
  5. [图解]创建虚拟机以及安装CentOS系统和创建自定义布局
  6. 前后端分离项目如何部署_不用Docker前后端分离项目如何快速部署
  7. Spring源码之ApplicationContext(六)注册BeanPostProcessor
  8. [渝粤教育] 西南科技大学 交通工程学 在线考试复习资料
  9. Python进阶(五)模块、包详解
  10. libmesh 思维导图(类接口设计)