gpt4 book ai didi

java - JSOUP 自动登录网站

转载 作者:行者123 更新时间:2023-12-01 09:06:43 26 4
gpt4 key购买 nike

我正在尝试解析一个需要登录的网站。从浏览器中,当我在登录页面( https://backoffice.holidayinsider.com/backoffice2/login )登录时,我会自动重定向到 https://backoffice.holidayinsider.com/backoffice2/login

首先,我尝试使用 Java 实现自动化登录。我的方法是受此启发的stackoverflow response 。我使用的代码如下:

package Login;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;
import java.util.Map;
public class DoLogin {
public static void main(String[] args)
{

try {

Connection.Response loginForm = Jsoup.connect("https://backoffice.holidayinsider.com/backoffice2/login")
.method(Connection.Method.GET)
.execute();

Connection.Response mainPage = Jsoup.connect("https://backoffice.holidayinsider.com/backoffice2")
.data("username", "myusername")
.data("password", "mypass")
.cookies(loginForm.cookies()).execute();
System.out.println(mainPage.parse());

Map<String, String> cookies = mainPage.cookies();

Document evaluationPage = Jsoup.connect("https://backoffice.holidayinsider.com/backoffice2/")
.cookies(cookies)
.execute().parse();
System.out.println(evaluationPage);


} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

似乎登录正在工作,状态代码为 200。现在的问题是当我打印 mainPage 时,它​​似乎仍在登录页面。可能是什么原因?预先感谢您的任何帮助或建议。

最佳答案

当您登录时,您需要添加 POST 方法:

        Connection.Response loginForm = Jsoup.connect("https://backoffice.holidayinsider.com/backoffice2/login")
.method(Connection.Method.GET)
.execute();

Connection.Response mainPage = Jsoup.connect("https://backoffice.holidayinsider.com/backoffice2/login")
.data("username", "myusername")
.data("password", "mypass")
.cookies(loginForm.cookies())
.followRedirects(true)
.method(Connection.Method.POST).execute();
System.out.println(mainPage.parse());

Map<String, String> cookies = mainPage.cookies();

Document evaluationPage = Jsoup.connect("https://backoffice.holidayinsider.com/backoffice2/")
.cookies(cookies)
.get();
System.out.println(evaluationPage);

关于java - JSOUP 自动登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41209009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com