会议室预定模拟登陆网站
/*预定会议室 每天早晨一点定会议室 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
会议室预定模拟登陆网站相关推荐
- winform模拟登陆网页_【教程】模拟登陆网站 之 C#版(内含两种版本的完整的可运行的代码)...
之前已经介绍过了网络相关的一些基础知识了: 以及简单的网页内容抓取,用C#是如何实现的: 现在接着来介绍,以模拟登陆百度首页: 为例,说明如何通过C#模拟登陆网站. 不过,此处需要介绍一下此文前提: ...
- 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程
声明:本文章转载自crifan的技术人生 [教程]手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程 重要提示: 1.此贴,以后不再更新: 2.想要看更新的内容,请移 ...
- 使用htmlUnit模拟登陆网站(有验证码和无验证码)
最近在学习模拟登陆,本来想使用httpClient抓取数据,但是奈何不会.在机缘巧合下看到了HtmlUnit废话不多说. 上代码. 需要的jar包: 主要的jar包是htmlUnit.jar,可在官网 ...
- 使用C#的HttpWebRequest模拟登陆网站
很久没有写新的东西了,今天在工作中遇到的一个问题,感觉很有用,有种想记下来的冲动. 这篇文章是有关模拟登录网站方面的. 实现步骤: 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话 ...
- 使用C#的HttpWebRequest模拟登陆网站(续)
上一篇文章中我们讲了,如何采用程序模拟登录网站,并获取登录后网站的内容,今天在此基础上继续将,通过程序登录了网站后而直接进入登录后的页面. 首先还是发起一个启用一个web会话,然后发送模拟数据请求,获 ...
- java 模拟平台_用Java程序模拟登陆网站平台
由于想测试性能,想模拟多个用户同时登陆系统进行访问,于是写了一个例子. 代码如下: URL url = null; HttpURLConnection httpurlconnection = null ...
- php 模拟登陆网站抢票,【附源码】程序员做的这款抢票神器,在GitHub火了
最近临近国庆节,大家都是归心似箭的「其实都是一批想出去的玩的」.但是一碰到这种节假日,买票就是贼难买的,况且是这种七天长假,宅在家里没事做,出去玩是必然的. 买不到票了咋办,抢票呗.以前还要手动抢,从 ...
- python 2.7 简单模拟登陆网站
举个栗子,首先创建网络会话, 然后就可以用创建的session来访问网页了. session.get(URL) #-*- coding:utf-8 -*- import requests import ...
- 【转】 浏览器分析模拟登陆过程
原文地址:http://www.crifan.com/use_ie9_f12_to_analysis_the_internal_logical_process_of_login_baidu_main_ ...
- Python 爬虫实战,模拟登陆爬取数据
Python 爬虫实战,模拟登陆爬取数据 从0记录爬取某网站上的资源连接: 模拟登陆 爬取数据 保存到本地 结果演示: 源网站展示: 爬到的本地文件展示: 环境准备: python环境安装 略 安装r ...
最新文章
- linux命令之crontab定时执行任务【转】
- C++ 复制vector值到array,复制 array 到jintArray
- Velodyne收购高清地图公司 将研发更安全的ADAS系统
- 直播报名 | 基金业数字化运营指标体系建设
- Inception网络 运行在Cifar10 测试集87.88% Tensorflow 2.1 小白从代码实践中 理解
- python 随机数_python 随机数
- Effective C# 原则38:使用和支持数据绑定(译)
- Android4.2之Camera系统HAL调用流程
- java 中button和jbutton输出的按钮不一样_Java学习教程(基础)--Java开发环境搭建
- Atitit 数据类型体系图 目录 1. 系统常用的数据类型	1 2. H5 form表单新数据类型	2 2.1. TML5 新的 Input 类型	2 2.2. HTML5 的新的表单元素:	2
- 3-matlab求秩和比代码
- influxdb数据过期_influxdb 清空数据库
- java自己写的视频截图工具
- 评测了10款画流程图软件,这4款最好用!(完全免费)
- 刘汉国老师的3路单火智能开关
- ubuntu16.04搭建samba服务器
- peta linux对电脑配置要求,使用petalinux遇到的一些问题汇总
- 安全驾驶:上海科目二-全部科目-笔记整理-祝你考试一把过!
- 游戏防外挂、破解解决方案
- 基于SSM的超市会员管理系统
热门文章
- MyEclipse+Tomcat+JSP开发环境配置
- 浏览器兼容之旅的第二站:各浏览器的Hack写法
- 推荐:用ogr和PIL把矢量数据转化成栅格图像
- 动态规划 --- 13.1 Triangle ---- 相邻路径最小和 -- 图解
- [图解]创建虚拟机以及安装CentOS系统和创建自定义布局
- 前后端分离项目如何部署_不用Docker前后端分离项目如何快速部署
- Spring源码之ApplicationContext(六)注册BeanPostProcessor
- [渝粤教育] 西南科技大学 交通工程学 在线考试复习资料
- Python进阶(五)模块、包详解
- libmesh 思维导图(类接口设计)