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:
GO TO FULL VERSION