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]