6.1 Menedżer plików cookie

Jak już wiesz, serwer http może wysyłać pliki cookie wraz z odpowiedzią i będziesz musiał z nimi pracować. Lub odwrotnie, serwer http czeka, aż klient wyśle ​​mu pliki cookie i musisz je dodać do swojego żądania http. Oczywiście możesz to zrobić bezpośrednio przez nagłówki (handlery), ale HttpClient oferuje wygodniejszy mechanizm - CookieHandler. Możesz go zdobyć za pomocą cookieHandler(). Przykład:

HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();

CookieHandler jest klasą abstrakcyjną, więc często pracuje się z jej implementacją CookieManager. Który z kolei ma tylko kilka metod, za pomocą których można uzyskać obiekt CookieStore. Możesz pracować z nim w przyszłości:

HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieManager manager = (CookieManager) handler;
CookieStore store = manager.getCookieStore();

CookieStore to interfejs, który ma następujące metody:

  • add()
  • get()
  • getCookies()
  • remove()
  • removeAll()

Nie będę ich szczegółowo omawiał, szczegółowo omówiliśmy już HttpClient. Jeśli nagle naprawdę tego potrzebujesz, to dokumentację dotyczącą klasy CookieManager znajdziesz pod linkami:

Menedżer klasowych plików cookie

Klasa CookieManager w Javie

Niestandardowy menedżer plików cookie