6.1 CookieManager
Wie Sie bereits wissen, kann der HTTP-Server zusammen mit der Antwort Cookies senden, und Sie müssen mit ihnen arbeiten. Oder umgekehrt: Der http-Server wartet darauf, dass der Client ihm Cookies sendet, und Sie müssen diese zu Ihrer http-Anfrage hinzufügen. Natürlich können Sie dies direkt über die Header (Handler) tun, aber HttpClient bietet Ihnen einen bequemeren Mechanismus – den CookieHandler
. Sie können es mit der erhalten cookieHandler()
. Beispiel:
HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieHandler ist eine abstrakte Klasse, daher wird üblicherweise mit ihrer CookieManager-Implementierung gearbeitet. Das wiederum verfügt nur über ein paar Methoden, mit denen Sie das CookieStore-Objekt abrufen können. Sie können in Zukunft damit arbeiten:
HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieManager manager = (CookieManager) handler;
CookieStore store = manager.getCookieStore();
CookieStore ist eine Schnittstelle mit den folgenden Methoden:
add()
get()
getCookies()
remove()
removeAll()
Ich werde sie nicht im Detail durchgehen, wir haben HttpClient bereits ausführlich behandelt. Wenn Sie es plötzlich wirklich brauchen, finden Sie die Dokumentation zur CookieManager-Klasse unter den Links: