【问题标题】:Java URLConnection problem with CookiesCookie 的 Java URLConnection 问题
【发布时间】:2011-05-06 23:50:03
【问题描述】:

如果有一个网站在第一页上设置了 Cookie(a),您需要填写一个表格,然后您需要将相同的 Cookie(a) 发送到第二页。在第二页上,您填写另一个表格,将您发送到第三页,如果您发送 Cookie(a),该站点将设置另一个 Cookie(b),然后将您重定向到最后一页。但是为了显示最后一页,您需要两个 Cookie(a 和 b)。
现在在 java 中,如果您打开到第一页的连接,从响应标头中获取 Cookie(a) 并将其作为 requestProperty 添加到第二页,您不能再使用 URLConnection.write(),因为您已经连接了。这个新的POSTDATA的写入是需要填写第2页并进入第3页的。现在您可以创建另一个 URLConnection >> 添加 Cookie 作为 requestProperty >> 并连接,
但问题是: Cookie(a) 仅对一个会话有效,所以当我打开第二次连接,Cookie 不再正确。如果您没有将正确的 Cookie 发送到 page3,它只会为 .getHeaderFields.get("Set-Cookie") 返回一个“null”。
那么有谁知道如何获得那几秒钟的 Cookie(b)?
-也许通过保持/恢复/恢复相同的会话或其他方式......?...

我希望这很清楚,否则请向我澄清。谢谢!

【问题讨论】:

  • 大脑...融化....啊哈哈哈哈....

标签: java session cookies post urlconnection


【解决方案1】:

您可以尝试使用 Apache HttpClient,它内置了 cookie 处理功能。

【讨论】:

    【解决方案2】:

    从 Java 5 开始,有一个 cookiemanager,它将所有相关的 cookie 存储在一个地图中。您不必使用 url.rewrite 来管理 cookie。谷歌 cookiemanager。这是第一个link,它是相关的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-20
    • 2021-11-27
    • 2010-11-30
    • 2015-06-22
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    相关资源
    最近更新 更多