我想删除一些由 JavaFX 网络引擎生成的特定 HTTP cookie。 Chrome 浏览器允许我们删除 httponly cookie,这意味着这可以通过编程实现。
我可以使用
删除所有cookiejava.net.CookieManager manager = new java.net.CookieManager();
manager.getCookieStore().removeAll();
使用这个用户也从我的应用程序中注销。我希望能够删除除为我的应用程序生成的 cookie 之外的所有 cookie。 或者是否可以使用 javascript 删除相同的 cookie。
最佳答案
任何正在寻找解决方案的人。这里是。 在 javafx 的 main 方法的开头设置它。
cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cookieManager);
然后在任何事件中(我是在点击按钮时做的)调用它
CookieStore cookieJar = Main.cookieManager.getCookieStore();
List<HttpCookie> cookies = cookieJar.getCookies();
for (HttpCookie ck: cookies) {
if(ck.getName().equals("JSESSIONID")){
System.out.println("JSESSIONID");
}else{
ck.setMaxAge(0);
System.out.println("CookieHandler retrieved cookie: " + ck);
}
}
我希望这对某人有所帮助,因为我花了一整天的时间寻找解决方案。
关于java - 从 webengine JavaFX 中删除特定的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29646437/