Удалить определенные файлы cookie из веб-движка JavaFX

Я хотел бы удалить некоторые определенные файлы cookie только для HTTP, созданные веб-движком JavaFX. Браузер Chrome позволяет нам удалять httponly cookie, что означает, что это возможно программно.

Я могу удалить все файлы cookie, используя

java.net.CookieManager manager = new java.net.CookieManager();
manager.getCookieStore().removeAll();

Используя это, пользователь также выходит из моего приложения. Я хочу иметь возможность удалить все файлы cookie, кроме созданного для моего приложения. Или можно удалить те же куки с помощью javascript.


person wib    schedule 15.04.2015    source источник


Ответы (2)


Любой, кто ищет решение. Вот. Установите это прямо в начале основного метода javafx.

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);
   }
}

Я надеюсь, что это поможет кому-то, потому что я провел весь день в поисках решения.

person Hemal    schedule 15.04.2015
comment
Хемал, не могли бы вы объяснить мне значение Main.cookieManager.getCookieStore(). - person Om Prakash; 27.07.2016