gpt4 book ai didi

Java CookieManager 或 CookieHandler 过期了吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:26:49 27 4
gpt4 key购买 nike

我使用以下命令向站点发出 HTTP 请求:

//第一次调用服务器时执行

static {
cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cookieManager);
}

下面进行实际调用

            BufferedReader reader = null;
HttpURLConnection conn = null;

URL url = new URL(urlString);
conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0");

//I added these 2 lines as a trial to fix this problem but failed
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cookieManager);

conn.connect();
InputStream in = conn.getInputStream();
...

上面的方法在一段时间内效果很好,但在某些时候(不知道到底是多少时间)我得到的响应说我的 cookie 已被禁用,我应该启用它们。重新启动服务器使其再次工作,直到再次发生等等......

cookieManager 和 cookieHandler 在某个时候会过期吗?我错过了什么吗?谢谢

最佳答案

您无法在 CookieManager 级别上对此进行控制,而只能直接在 cookie 本身内进行控制。 HttpCookiesetMaxAge(long expiry)设置 cookie 的最长期限(以秒为单位)。

从HttpCookie的源代码中可以看到,MAX_AGE_UNSPECIFIED在哪里? ,以及 getMaxAge()方法文档将默认值设置为 -1

By default, -1 indicating the cookie will persist until browser shutdown.

setMaxAge(long expiry)声明如下:

A negative value means that the cookie is not stored persistently and will be deleted when the Web browser exits.

关于Java CookieManager 或 CookieHandler 过期了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50445678/

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