【问题标题】:Deleting Cookies in Java / How browser delete cookies在 Java 中删除 Cookie / 浏览器如何删除 cookie
【发布时间】:2013-07-22 10:02:04
【问题描述】:

有人能告诉我如何在客户端的java中删除内存中的cookie吗?就像浏览器如何删除所有 cookie 和会话信息一样。

我正在尝试为我的工作做一些 PoC,我正在使用简单的 apache Http 类来发送请求,然后在多个请求中传递 cookie,但是如果假设我想删除存储在 cookie 中的会话怎么办.

我认为这是可以做到的,因为所有浏览器都允许你这样做。

【问题讨论】:

  • 我不知道 HttpClient 将其 Cookie 存储在内存以外的任何地方。想了解更多详情,请查看CookieStore
  • 任何帮助将不胜感激。

标签: java cookies browser client


【解决方案1】:

Cookies(客户端)相当于会话(服务器端)。我认为没有办法强制浏览器删除 cookie,但您可以建议这样做:

在服务器端结束会话:

HttpSession session = request.getSession();
session.invalidate();

或设置一个较短的会话超时时间:

HttpSession session = request.getSession();
session.setMaxInactiveInterval(1*60); //in seconds

【讨论】:

  • 是的,我知道,但我专门谈论客户端。我的意思是当你关闭 Firefox 时,我设置了在关闭浏览器时删除 cookie。我如何在代码中复制相同的功能。假设我正在从另一台机器向我的服务器发送请求,有没有办法让服务器强制关闭会话或从客户端删除 cookie。如何在 HttpClient 中复制此功能?设置到期日期没有成功。
  • 尝试将 cookie 的过期日期设置为现在或等于 0。请参阅 this question 了解有关该主题的一些启示(在 javascript 中)。但是没有可靠的方法(见this answer)。为什么删除 cookie 很重要?
猜你喜欢
  • 1970-01-01
  • 2010-11-19
  • 2011-02-18
  • 2015-04-06
  • 1970-01-01
  • 1970-01-01
  • 2014-02-21
  • 2012-12-02
  • 2023-03-23
相关资源
最近更新 更多