从webengine JavaFX中删除特定的cookie

wib*_*wib 2 java javafx httpcookie session-cookies javafx-webengine

我想删除JavaFX webengine生成的一些特定的HTTP cookie.Chrome浏览器允许我们删除httponly cookie,这意味着这可以通过编程方式实现.

我可以使用删除所有cookie

java.net.CookieManager manager = new java.net.CookieManager();
manager.getCookieStore().removeAll();
Run Code Online (Sandbox Code Playgroud)

使用此用户也可以从我的应用程序中注销.我希望能够删除除为我的应用程序生成的cookie之外的所有cookie.或者是否可以使用javascript删除相同的cookie.

小智 6

任何寻找解决方案的人.这里是.在javafx的主要方法的开头设置此权限.

cookieManager =  new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cookieManager);
Run Code Online (Sandbox Code Playgroud)

然后在任何事件(我只需按一下按钮)就可以调用它

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);
   }
}
Run Code Online (Sandbox Code Playgroud)

我希望这有助于某人因为我花了一整天时间寻找解决方案.