gpt4 book ai didi

java - 在 java 中使用 URL 类时处理 Cookie

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

我正在编写一个程序,将 POST 方法发送到网站,然后登录。但为了成功登录,网站需要存储和检索 cookie。

这是我用来向网站发送 POST 方法的代码:

        URL url = new URL(link);
CookieHandler.setDefault(new CookieManager());

URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
writer.write(values);
writer.flush();
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
writer.close();
reader.close();

那么我该如何处理cookies呢?

最佳答案

线路

CookieHandler.setDefault(new CookieManager());

设置一个全局变量,使连接在连接将请求发送到服务器之前和接收到响应之后自动在内部处理 cookie。它会对您的所有 HTTP 请求执行此操作。

除了设置默认的 cookie 处理程序之外,您无需执行任何操作。

虽然此全局变量和行为在许多情况下都很方便,但在其他情况下可能会导致问题,例如当您想要与同一服务器建立多个单独的 session 时。在后一种情况下,每个 session 的 cookie 应该是独立的,但它们最终都位于同一个全局 cookie 存储中并相互覆盖。

如果您需要为不同的 session 或线程管理单独的cookie,请参阅我的回答here .

关于java - 在 java 中使用 URL 类时处理 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30741372/

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