zoukankan      html  css  js  c++  java
  • 会议室预定模拟登陆网站

    /*预定会议室 每天早晨一点定会议室   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());
    }
  • 相关阅读:
    将本地html文件拖到IE8浏览器无法打开,直接弹出一个下载的对话框
    ImageMagick
    64位win8.1系统 运行 32位程序,文件夹路径是中文遇到问题
    Dreamweaver
    JBOSS Spring Web
    spring web应用
    SQL PKG示例
    SQL分区表示例
    Java RMI 框架(远程方法调用)
    Java NIO 进程间通信
  • 原文地址:https://www.cnblogs.com/a6948076/p/11473900.html
Copyright © 2011-2022 走看看