Apache HttpClient - Çerez Yönetimi

Çerezler, istemci bilgisayarda saklanan metin dosyalarıdır ve çeşitli bilgi takibi amacıyla saklanır.

HttpClient, tanımlama bilgileri oluşturup yönetebileceğiniz tanımlama bilgileri için destek sağlar.

Çerez oluşturmak

HttpClient kitaplığını kullanarak bir tanımlama bilgisi oluşturmak için aşağıda verilen adımları izleyin.

Adım 1 - Cookiestore nesnesi oluşturun

CookieStorearabirim, Cookie nesnelerinin soyut deposunu temsil eder. Bir tanımlama bilgisi deposu oluşturabilirsiniz.BasicCookieStore sınıfı, bu arabirimin varsayılan uygulaması.

//Creating the CookieStore object
CookieStore cookieStore = new BasicCookieStore();

Adım 2 - ClientCookie nesnesi oluşturun

Bir tanımlama bilgisinin işlevlerine ek olarak, ClientCookie sunucudaki orijinal tanımlama bilgilerini alabilir. Bir müşteri çerezi oluşturabilirsiniz.BasicClientCookiesınıf. Bu sınıfın kurucusuna, o belirli çerezde saklamak istediğiniz anahtar / değer çiftini iletmeniz gerekir.

//Creating client cookie
BasicClientCookie clientCookie = new BasicClientCookie("name","Raju");

Adım 3 - Çereze değerleri ayarlayın

Bir müşteri çerezi için, ilgili yöntemleri kullanarak yol, değer, sürüm, son kullanma tarihi, etki alanı, yorum ve öznitelik belirleyebilir / kaldırabilirsiniz.

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);

Adım 4 - Çerez deposuna çerez ekleyin

Çerez deposuna çerez ekleyebilirsiniz. addCookie() yöntemi BasicCookieStore sınıf.

Gerekli çerezleri şuraya ekleyin: Cookiestore.

//Adding the created cookies to cookie store
cookiestore.addCookie(clientcookie);

Misal

Aşağıdaki örnek, çerezlerin nasıl oluşturulacağını ve bir çerez deposuna nasıl ekleneceğini gösterir. Burada, alan ve yol değerlerini ayarlayarak bir çerez deposu, bir grup çerez oluşturduk ve bunları çerez deposuna ekledik.

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);
   }
}

Çerez almak

Çerezleri kullanarak bir çerez deposuna ekleyebilirsiniz. getCookies() yöntemi asicCookieStoresınıf. Bu yöntem, çerez deposundaki tüm çerezleri tutan bir liste döndürür.

Aşağıda gösterildiği gibi Yineleyiciyi kullanarak bir çerez deposunun içeriğini yazdırabilirsiniz -

//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());
}

Misal

Aşağıdaki örnek, bir çerez deposundan çerezlerin nasıl alınacağını gösterir. Burada, bir çerez deposuna bir grup çerez ekliyor ve onları geri alıyoruz.

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);
   }
}

Çıktı

Bu program yürütülürken aşağıdaki çıktıyı üretir -

[version: 0][name: age][value: 28][domain: .sample.com][path: /][expiry: null]
[version: 0][name: name][value: Raju][domain: my.example.com][path: /][expiry:
null]
[version: 0][name: place][value: Hyderabad][domain: .sample.com][path:
/][expiry: null]