【问题标题】:How to remove cookies from a headless browser provided by HtmlUnit in Java?如何从 Java 中 HtmlUnit 提供的无头浏览器中删除 cookie?
【发布时间】:2011-01-06 01:41:45
【问题描述】:

我正在使用HtmlUnit 无头浏览器访问网站。

当我使用无头浏览器时,这些网站发送的 cookie 可以存储在我的计算机上吗?

如果是,那么这些 cookie 的保存位置是什么?如何通过 HtmlUnit 将其删除?

【问题讨论】:

    标签: java browser cookies htmlunit headless


    【解决方案1】:

    使用HtmlUnit.removeCookie()。通常,HtmlUnit 中的 Cookie 是在内存中创建的,而不是序列化到磁盘的。

    【讨论】:

    • 你能告诉我这些cookies在内存中的寿命吗?他们什么时候被删除?网络服务器能否检测到内存中的那些 cookie?如何删除这些 cookie?
    • 由于它们在内存中,一旦您的 HtmlUnit 会话结束,它们就会终止。如果您明确调用removeCookie(),它们也会被删除。 Web 服务器并没有真正“检测”cookie——而是询问用户代理是否存储了任何 cookie,HtmlUnit 会做出相应的响应。
    • 那么,如果 cookie 在内存中,那么 HtmlUnit 会用 cookie 响应服务器吗? HtmlUnit 会话何时终止?当我调用 webclient.closeWindow() 时它会终止吗?作为acc。对于 HtmlUnit 文档,WebClient 代表一个浏览器,那么它是代表一个多窗口浏览器(如 IE7 可以打开多个选项卡)还是代表一个单窗口浏览器?
    • 如果它代表一个多窗口浏览器,那么HttpSession是否像真正的浏览器一样跨该webclient的多个窗口维护?
    • 您可能想提出一个单独的 StackOverflow 问题,以便为您提出的这些详细后续问题提供更好的论坛。
    【解决方案2】:

    我正在使用

    webClient.getCookieManager().clearCookies();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 2010-11-19
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 2019-01-23
      相关资源
      最近更新 更多