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:

Klasse Cookie Manager

CookieManager klasse i Java

Custom CookieManager