springboot使用jsoup获取cookie
以下是Spring Boot中使用Jsoup获取cookie的示例代码:
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;
import java.util.Map;
public class JsoupCookieExample {
public static void main(String[] args) throws IOException {
// 设置登录页面url和登录请求url
String loginPageUrl = "http://example.com/login";
String loginActionUrl = "http://example.com/login_action";
// 创建连接并设置请求头
Connection.Response loginPageResponse = Jsoup.connect(loginPageUrl)
.method(Connection.Method.GET)
.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36")
.execute();
// 获取登录页面的cookie
Map<String, String> loginPageCookies = loginPageResponse.cookies();
// 设置登录请求参数
String username = "myusername";
String password = "mypassword";
String csrfToken = "1234567890"; // 假设这是页面中的csrfToken
String requestBody = String.format("username=%s&password=%s&csrfToken=%s", username, password, csrfToken);
// 发送登录请求并设置cookie
Connection.Response loginActionResponse = Jsoup.connect(loginActionUrl)
.method(Connection.Method.POST)
.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36")
.cookies(loginPageCookies) // 设置登录页面的cookie
.requestBody(requestBody)
.execute();
// 获取登录后的cookie
Map<String, String> loginActionCookies = loginActionResponse.cookies();
// 使用登录后的cookie访问需要认证的页面
String securedPageUrl = "http://example.com/secured_page";
Document securedPageDocument = Jsoup.connect(securedPageUrl)
.cookies(loginActionCookies) // 设置登录后的cookie
.get();
// 打印页面内容
System.out.println(securedPageDocument.html());
}
}
在上述代码中,我们首先访问登录页面,获取登录页面的cookie。然后,我们发送登录请求,使用登录页面的cookie,并将登录后的cookie保存下来。最后,我们使用登录后的cookie访问需要认证的页面。
在实际应用中,我们需要根据自己的业务逻辑来设置请求参数和处理返回结果。
原文地址: https://www.cveoy.top/t/topic/m20 著作权归作者所有。请勿转载和采集!