2013-07-23 106 views
1

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

我想为我的工作做一些PoC,我使用简单的apache Http类来发送请求,然后在多个请求中传递cookie但是如果让我们说我想删除存储在曲奇饼。

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

+0

我不知道HttpClient存储它的Cookie是任何其他地方,然后内存。 Id'看看[CookieStore](http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/CookieStore.html)了解更多详情 – MadProgrammer

+0

请任何帮助将不胜感激。 –

回答

1

饼干(客户端)相当于会话(服务器端)。我不认为有一种方法可以强制浏览器删除cookie,但你可以建议其通过这样做:

结束在服务器端的会话:

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

或设置短会话期限超时:

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

是的,我知道,但我专门谈论客户端。我的意思是当你关闭Firefox时,我已经设置好在关闭浏览器时删除cookies。我怎样才能在代码中复制相同的功能。假设我从另一台计算机向我的服务器发送请求,可以让服务器强制关闭会话或从客户端删除cookie。 如何在HttpClient中复制此功能?设置失效日期没有解决。 –

+0

尝试将Cookie的过期日期设置为现在或等于0.请参见[此问题](http://stackoverflow.com/questions/252660/how-can-i-delete-my-browser-cookies-using-javascript)对于这个主题的一些启发(在JavaScript中)。 但没有可靠的方法(见[这个答案](http://stackoverflow.com/questions/752197/should-a-web-browser-delete-all-session-expiry-0-cookies-on-exit? RQ = 1))。 为什么cookie被删除很重要? – vorg