6.1 CookieManager

După cum știți deja, serverul http poate trimite cookie-uri împreună cu răspunsul și va trebui să lucrați cu ele. Sau invers, serverul http așteaptă ca clientul să-i trimită Cookie-uri și trebuie să le adăugați la cererea dumneavoastră http. Desigur, puteți face acest lucru direct prin intermediul antetelor (handlere), dar HttpClient vă oferă un mecanism mai convenabil - CookieHandler. Îl puteți obține folosind cookieHandler(). Exemplu:

HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();

CookieHandler este o clasă abstractă, deci este obișnuit să lucrezi cu implementarea sa CookieManager. Care, la rândul său, are doar câteva metode prin care puteți obține obiectul CookieStore. Puteți lucra cu el în viitor:

HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieManager manager = (CookieManager) handler;
CookieStore store = manager.getCookieStore();

CookieStore este o interfață care are următoarele metode:

  • add()
  • get()
  • getCookies()
  • remove()
  • removeAll()

Nu le voi parcurge în detaliu, am tratat deja HttpClient în detaliu. Dacă dintr-o dată chiar aveți nevoie de el, atunci documentația despre clasa CookieManager poate fi găsită la linkurile:

Managerul de cookie-uri de clasă

Clasa CookieManager în Java

CookieManager personalizat