0

如果有一个网站在第一页上设置了 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)?
-也许通过保持/恢复/恢复相同的会话或其他东西......?......

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

4

2 回答 2

0

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

于 2011-05-06T15:49:24.927 回答
0

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

于 2011-05-06T15:50:03.320 回答