6.1 CookieManager
Som du allerede ved, kan http-serveren sende cookies sammen med svaret, og du bliver nødt til at arbejde med dem. Eller omvendt, http-serveren venter på, at klienten sender den cookies, og du skal tilføje dem til din http-anmodning. Selvfølgelig kan du gøre dette direkte gennem headerne (handlere), men HttpClient tilbyder dig en mere bekvem mekanisme - CookieHandler
. Du kan få det ved hjælp af cookieHandler()
. Eksempel:
HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieHandler er en abstrakt klasse, så det er almindeligt at arbejde med dens CookieManager implementering. Som til gengæld kun har et par metoder, hvorigennem du kan få CookieStore-objektet. Du kan arbejde med det i fremtiden:
HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieManager manager = (CookieManager) handler;
CookieStore store = manager.getCookieStore();
CookieStore er en grænseflade, der har følgende metoder:
add()
get()
getCookies()
remove()
removeAll()
Jeg vil ikke gennemgå dem i detaljer, vi har allerede dækket HttpClient i detaljer. Hvis du pludselig virkelig har brug for det, så kan dokumentationen om CookieManager-klassen findes på linkene: