gpt4 book ai didi

java - 如何在 Java 中访问/保存 cookie

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:45 24 4
gpt4 key购买 nike

我正在用 Java 编写一些软件。

我正在测试 cookie 管理功能,但我似乎无法让 cookie 工作。我写了一个快速的 PHP 来丢弃一个 cookie,我在我的浏览器中测试了它并且 cookie 正常丢弃。

不过,看看这段代码:

    CookieManager cManager = new CookieManager();
CookieHandler.setDefault(cManager);
try
{

URL url = new URL("http://localhost/_techfactory/apage.php");
URLConnection connection = url.openConnection();
CookieStore cookieJar = cManager.getCookieStore();
List<HttpCookie> cookies = cookieJar.getCookies();
for ( HttpCookie cookie : cookies)
{
System.out.print(cookie);
}
Boolean isittrue = cookies.isEmpty();
System.out.print(isittrue);
BufferedReader bin = new BufferedReader ( new InputStreamReader(connection.getInputStream()));
String line;
while ( ( line = bin.readLine()) != null )
System.out.print(line);

}
catch ( Exception e )
{
System.out.println(e);
}

这虽然在语法上是正确的,但除了页面中的 HTML 之外不会输出任何内容。现在,众所周知,CookieManager 实现是 CookieHandler、CookiePolicy 和 CookieStore 的具体实现。但是,它只是拒绝为我工作,我做错了什么?

最佳答案

您需要在检查 cookie 存储之前读取 HTTP header 字段,并且调用 openConnection() 不会读取 HTTP header 。查看 the javadoc 的前几行.

如果您在处理期间需要 cookie,调用 getInputStream() 连接并解析 header 字段,URLConnection 中的其他一些方法也是如此。

关于java - 如何在 Java 中访问/保存 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6127455/

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