文章11 | 阅读 3360 | 点赞0
我们先给出登录界面以及界面的URL:
URL:https://webvpn.ncepu.edu.cn/users/sign_in
主要步骤:
可以看到,我们输入的表单数据最终被提交到了"/users/sign_in"里。
Connection connection = Jsoup.connect(URL);
connection.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36");
Response res = connection.execute(); //获取res.cookies(),后面要用到
Document d = Jsoup.parse(res.body());
List<Element> elements = d.select("form");
Map<String, String> datas = new HashMap<>();
for (Element element : elements.get(0).getAllElements()) {
if (element.attr("name").equals("user[login]")) {
element.attr("value", "************");
}
if (element.attr("name").equals("user[password]")) {
e.attr("value", "******");
}
if (element.attr("name").length() > 0) {
datas.put(e.attr("name"), e.attr("value"));
}
}
USER_AGENT等信息都在这里面:
我们可以打印一下datas:
{user[dymatice_code]=unknown, utf8=?, commit=登录 Login, user[login]=马赛克, user[password]=马赛克, authenticity_token=+BD3FgRXj+LsvgUpS81EKyU7SOF1B6eshSzfo3aMOSHD3LoMsx8ZP85vWNbm1PbPJGbgJqHVbFkTvHuSzDwI8A==}
Connection connection2 = Jsoup.connect("https://webvpn.ncepu.edu.cn/users/sign_in");
connection2.header(USER_AGENT, USER_AGENT_VALUE);
Response response = connection2.ignoreContentType(true).followRedirects(true).method(Method.POST).data(datas).cookies(res.cookies()).execute();
System.out.println(response.body());
Map<String, String> map = response.cookies();
for (String s : map.keySet()) {
System.out.println(s + " : " + map.get(s));
}
完整代码:
package EDM;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jsoup.Connection;
import org.jsoup.Connection.Method;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
/** * @ClassName: login_final * @description: JSoup_Login * @author: KI * @Date: 2020年8月22日 下午1:16:07 */
public class Login_Test {
public static void main(String[] args) throws Exception {
Connection connection = Jsoup.connect("https://webvpn.ncepu.edu.cn/users/sign_in");
connection.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36");
Response res = connection.execute();
Document d = Jsoup.parse(res.body());
List<Element> elements = d.select("form");
Map<String, String> datas = new HashMap<>();
for (Element element : elements.get(0).getAllElements()) {
// 设置用户名,这里不是login而是user[login]
if (element.attr("name").equals("user[login]")) {
element.attr("value", "************");
}
if (element.attr("name").equals("user[password]")) {
element.attr("value", "******");
}
if (element.attr("name").length() > 0) {
datas.put(element.attr("name"), element.attr("value"));
}
}
//System.out.println(datas);
Connection connection2 = Jsoup.connect("https://webvpn.ncepu.edu.cn/users/sign_in");
connection2.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36");
Response response = connection2.ignoreContentType(true).followRedirects(true).method(Method.POST)
.data(datas).cookies(res.cookies()).execute();
//show
System.out.println(response.body());
Map<String, String> map = response.cookies();
for (String s : map.keySet()) {
System.out.println(s + " : " + map.get(s));
}
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/Cyril_KI/article/details/108172515
内容来源于网络,如有侵权,请联系作者删除!