gpt4 book ai didi

java - Java 中的后续 HTTPS POST 请求并保留 cookie

转载 作者:行者123 更新时间:2023-12-01 22:06:47 25 4
gpt4 key购买 nike

我需要获取 HTTPS URL 的输入流,例如。 https://baseurl.com/mypdfgenerated.php?param=somevalue 。为了访问此 URL,我需要通过提供 BODY 参数来访问登录页面(例如 https://baseurl.com/login.php ):

user_name, web_pwd and submit_login 

我假设成功访问第一个 URL 的唯一方法是通过 POST 到/login.php,然后存储 cookie,然后在下一个 GET 请求中重用 cookie-session-ID;如果这是正确的方法,那么有人可以与正确/最新的库分享解决方案吗?

最佳答案

不确定哪种是最好的方法,但帮助我实现这一目标的是 CloseableHttpClient 类,它与 BasicCookieStore 一起为登录后的后续请求保留 cookie,实现如下:

BasicCookieStore cookieStore = new BasicCookieStore(); 
CloseableHttpClient httpclient = HttpClients.custom().setDefaultCookieStore(cookieStore).build();
HttpUriRequest login = RequestBuilder.post()
.setUri(new URI(url_login))
.addParameter("login", "loginuname")
.addParameter("password", "pwd")
.addParameter("submit", "sub_mit");
CloseableHttpResponse response = httpclient.execute(login);
List<Cookie> cookies = cookieStore.getCookies();
response.close();

HttpGet httpget2 = new HttpGet(url_to_get_after_login);
CloseableHttpResponse response2 = httpclient.execute(httpget2);
response2.close();

关于java - Java 中的后续 HTTPS POST 请求并保留 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32591295/

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