6.1 CookieManager
Как ты уже знаешь, http-сервер может вместе с ответом прислать cookie, и тебе нужно будет с ними работать. Или наоборот, http-сервер ждет, что клиент пришлет ему Cookie и тебе нужно добавить их в твой http-запрос.
Конечно, можно сделать это прямо через заголовки (handlers), но HttpClient предлагает тебе более удобный механизм – класс CookieHandler
. Получить его можно с помощью метода cookieHandler()
. Пример:
HttpClient client = HttpClient.newBuilder( URI.create("https://javarush.com")).build();
CookieHandler handler = client.cookieHandler();
CookieHandler – это абстрактный класс, так что принято работать с его имплементацией CookieManager. У которого в свою очередь всего пара методов, через которые можно получить объект CookieStore. С ним можно в дальнейшем работать:
HttpClient client = HttpClient.newBuilder( URI.create("https://javarush.com")).build();
CookieHandler handler = client.cookieHandler();
CookieManager manager = (CookieManager) handler;
CookieStore store = manager.getCookieStore();
CookieStore – это интерфейс, у которого есть такие методы:
add()
get()
getCookies()
remove()
removeAll()
Я не буду проходить по ним подробно, мы уже детально разобрали HttpClient. Если вдруг вам очень понадобится, то документацию по классу CookieManager можно найти по ссылкам:
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ