6.1 Gestore dei cookie
Come già sai, il server http può inviare cookie insieme alla risposta e dovrai lavorarci. O viceversa, il server http sta aspettando che il client gli invii i cookie e devi aggiungerli alla tua richiesta http. Naturalmente, puoi farlo direttamente tramite le intestazioni (gestori), ma HttpClient ti offre un meccanismo più conveniente: il file CookieHandler
. Puoi ottenerlo usando il cookieHandler()
. Esempio:
HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieHandler è una classe astratta, quindi è comune lavorare con la sua implementazione CookieManager. Che, a sua volta, ha solo un paio di metodi attraverso i quali è possibile ottenere l'oggetto CookieStore. Puoi lavorarci in futuro:
HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieManager manager = (CookieManager) handler;
CookieStore store = manager.getCookieStore();
CookieStore è un'interfaccia che ha i seguenti metodi:
add()
get()
getCookies()
remove()
removeAll()
Non li esaminerò in dettaglio, abbiamo già trattato in dettaglio HttpClient. Se all'improvviso ne hai davvero bisogno, allora la documentazione sulla classe CookieManager può essere trovata ai link: