6.1 CookieManager

Som du redan vet kan http-servern skicka cookies tillsammans med svaret, och du måste arbeta med dem. Eller vice versa, http-servern väntar på att klienten ska skicka cookies till den och du måste lägga till dem i din http-förfrågan. Naturligtvis kan du göra detta direkt genom rubrikerna (hanterare), men HttpClient erbjuder dig en mer bekväm mekanism - CookieHandler. Du kan få det med cookieHandler(). Exempel:

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

CookieHandler är en abstrakt klass, så det är vanligt att arbeta med dess CookieManager-implementering. Som i sin tur bara har ett par metoder genom vilka du kan få CookieStore-objektet. Du kan arbeta med det i framtiden:

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

CookieStore är ett gränssnitt som har följande metoder:

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

Jag kommer inte att gå igenom dem i detalj, vi har redan täckt HttpClient i detalj. Om du plötsligt verkligen behöver det, kan du hitta dokumentationen om klassen CookieManager på länkarna:

Klass Cookie Manager

CookieManager-klass i Java

Custom CookieManager