Работа с куками

Открыта

6.1 CookieManager

Как ты уже знаешь, http-сервер может вместе с ответом прислать cookie, и тебе нужно будет с ними работать. Или наоборот, http-сервер ждет, что клиент пришлет ему Cookie и тебе нужно добавить их в твой http-запрос. Конечно, можно сделать это прямо через заголовки (headers), но 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 можно найти по ссылкам:

Class CookieManager

CookieManager Class in Java

Пользовательский CookieManager


Каким образом взаимодействует Back-End и Front-End

Разбор CRUD приложения

Ссылки:

Комментарии (13)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Алексей
Уровень 111
Expert
18 октября 2023, 09:44
Публичный сервер с REST API, что бы потренить http запросы: https://reqres.in/
Илья
Уровень 108
Expert
14 сентября 2023, 07:58
Не помешало бы добавить уроки по postman
Станислав Работает в Neomatic Expert
24 декабря 2023, 13:19
https://stepik.org/course/120679/syllabus их сотни, вот бесплатный
Dima Makarov
Уровень 42
22 августа 2023, 13:02
IDEA ругается на код и подчеркивает:
CookieHandler handler = client.cookieHandler();
Дмитрий
Уровень 110
Expert
19 сентября 2023, 04:40
Да и на это тоже:
HttpClient client = HttpClient.newBuilder( URI.create("https://javarush.com")).build();
Кирилл
Уровень 111
Expert
9 августа 2023, 10:30
через заголовки (handlers) -> надо headers, а не handlers. Опечатка.
jvatechs Backend Developer в Ищу стажировку Expert
14 июня 2023, 01:12
Как же "заморочился" автор во время создания этой статьи, такой объём неподъемный, неделю писал, наверное...
Greg
Уровень 108
Expert
2 февраля 2023, 15:43
Как-то сложно даются 9 и 10 уровни для понимания.
Nikita Shamrai
Уровень 108
Expert
13 августа 2022, 08:28
Хоть бы один пример за весь уровень рабочего кода Get/Post с результатом
Anonymous #2957882
Уровень 41
25 августа 2022, 08:43
Уже пора привыкнуть пробовать самому, тут больше показывают "Есть такая штука, иди гугли и разбирайся" get можно на любой сайт отправить и получить тело, или найти апишку открытую https://github.com/public-apis/public-apis (удобнее, чтобы без авторизации), например постман https://www.postman.com/postman/workspace/published-postman-templates/documentation/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65?ctx=documentation
Дмитрий
Уровень 108
Expert
6 октября 2022, 04:21
Странное рассуждение… идешь на курсы не для того чтобы гулить информация, а получить ее в одном месте которая пригодится для усвоении материала и понимания что и как и время на этом самом беспорядочном гуглении сэкономить.
jvatechs Backend Developer в Ищу стажировку Expert
14 июня 2023, 01:02
плюсую, с таким рассуждением можно было выходит найти программу по Java и гуглением искать и искать, и искать. Я конечно понимаю, что никто не отменял самообразование, но теория без практики все равно что ковать железо остывшем.
Уpовень 302
28 мая 2022, 23:01
познавательно