Куки-файлы — это текстовые файлы, которые хранятся на клиентском компьютере и хранятся в целях отслеживания различной информации.
HttpClient обеспечивает поддержку файлов cookie, которые вы можете создавать и управлять файлами cookie.
Создание куки
Следуйте приведенным ниже инструкциям, чтобы создать файл cookie с помощью библиотеки HttpClient.
Шаг 1 — Создать объект Cookiestore
Интерфейс CookieStore представляет абстрактное хранилище для объектов Cookie. Вы можете создать хранилище cookie, создав экземпляр класса BasicCookieStore , который является реализацией этого интерфейса по умолчанию.
//Creating the CookieStore object CookieStore cookieStore = new BasicCookieStore();
Шаг 2 — Создание объекта ClientCookie
В дополнение к функциям файлов cookie, ClientCookie может получить оригинальные файлы cookie на сервере. Вы можете создать файл cookie клиента, создав экземпляр класса BasicClientCookie . В конструктор этого класса вам нужно передать пару ключ-значение, которую вы хотели сохранить в этом конкретном файле cookie.
//Creating client cookie BasicClientCookie clientCookie = new BasicClientCookie("name","Raju");
Шаг 3 — Установите значения для куки
Для файла cookie клиента вы можете установить / удалить путь, значение, версию, срок действия, домен, комментарий и атрибут, используя соответствующие методы.
Calendar myCal = new GregorianCalendar(2018, 9, 26); Date expiryDate = myCal.getTime(); clientcookie.setExpiryDate(expiryDate); clientcookie.setPath("/"); clientcookie.setSecure(true); clientcookie.setValue("25"); clientcookie.setVersion(5);
Шаг 4 — Добавить куки в магазин печенья
Вы можете добавить куки в хранилище куки, используя метод addCookie () класса BasicCookieStore .
Добавьте необходимые куки в Cookiestore .
//Adding the created cookies to cookie store cookiestore.addCookie(clientcookie);
пример
Следующий пример демонстрирует, как создавать куки и добавлять их в магазин куки. Здесь мы создали хранилище cookie, набор файлов cookie, задав значения домена и пути, и добавили их в хранилище cookie.
import org.apache.http.client.CookieStore; import org.apache.http.impl.client.BasicCookieStore; import org.apache.http.impl.cookie.BasicClientCookie; public class CookieHandlingExample { public static void main(String args[]) throws Exception{ //Creating the CookieStore object CookieStore cookiestore = new BasicCookieStore(); //Creating client cookies BasicClientCookie clientcookie1 = new BasicClientCookie("name","Raju"); BasicClientCookie clientcookie2 = new BasicClientCookie("age","28"); BasicClientCookie clientcookie3 = new BasicClientCookie("place","Hyderabad"); //Setting domains and paths to the created cookies clientcookie1.setDomain(".sample.com"); clientcookie2.setDomain(".sample.com"); clientcookie3.setDomain(".sample.com"); clientcookie1.setPath("/"); clientcookie2.setPath("/"); clientcookie3.setPath("/"); //Adding the created cookies to cookie store cookiestore.addCookie(clientcookie1); cookiestore.addCookie(clientcookie2); cookiestore.addCookie(clientcookie3); } }
Извлечение печенья
Вы можете добавить файлы cookie в хранилище файлов cookie с помощью метода getCookies () класса asicCookieStore . Этот метод возвращает список, в котором хранятся все файлы cookie в хранилище файлов cookie.
Вы можете распечатать содержимое хранилища cookie с помощью Итератора, как показано ниже —
//Retrieving the cookies List list = cookieStore.getCookies(); //Creating an iterator to the obtained list Iterator it = list.iterator(); while(it.hasNext()) { System.out.println(it.next()); }
пример
В следующем примере показано, как получить файлы cookie из магазина cookie. Здесь мы добавляем кучу файлов cookie в магазин и получаем их обратно.
import org.apache.http.client.CookieStore; import org.apache.http.impl.client.BasicCookieStore; import org.apache.http.impl.cookie.BasicClientCookie; public class CookieHandlingExample { public static void main(String args[]) throws Exception{ //Creating the CookieStore object CookieStore cookiestore = new BasicCookieStore(); //Creating client cookies BasicClientCookie clientcookie1 = new BasicClientCookie("name","Raju"); BasicClientCookie clientcookie2 = new BasicClientCookie("age","28"); BasicClientCookie clientcookie3 = new BasicClientCookie("place","Hyderabad"); //Setting domains and paths to the created cookies clientcookie1.setDomain(".sample.com"); clientcookie2.setDomain(".sample.com"); clientcookie3.setDomain(".sample.com"); clientcookie1.setPath("/"); clientcookie2.setPath("/"); clientcookie3.setPath("/"); //Adding the created cookies to cookie store cookiestore.addCookie(clientcookie1); cookiestore.addCookie(clientcookie2); cookiestore.addCookie(clientcookie3); } }
Выход
При выполнении эта программа генерирует следующий вывод —