অ্যাপাচি HTTP ক্লায়েন্ট (Apache HTTP Client) এ Cookies Management এবং Session Handling গুরুত্বপূর্ণ বিষয়, কারণ অনেক সময় ওয়েব অ্যাপ্লিকেশনগুলো কুকি ব্যবহার করে ব্যবহারকারীর সেশন ট্র্যাক করতে এবং পরবর্তী রিকুয়েস্টে সেশন তথ্য ব্যবহার করতে। কুকি ব্যবস্থাপনা অ্যাপাচি HTTP ক্লায়েন্টের মাধ্যমে প্রয়োগ করা যায়, যাতে আপনি কুকি সঞ্চয় করতে, পাঠাতে এবং সেশন পরিচালনা করতে পারেন।
JSESSIONID
) সাধারণত একটি প্রমাণীকরণ সেশন পরিচালনা করতে ব্যবহৃত হয়।import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.CookieStore;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.util.EntityUtils;
import org.apache.http.impl.cookie.BasicClientCookie;
public class CookieManagementExample {
public static void main(String[] args) {
// CookieStore তৈরি করা
CookieStore cookieStore = new BasicCookieStore();
// CookieStore এ কুকি যোগ করা
BasicClientCookie cookie = new BasicClientCookie("JSESSIONID", "1234567890");
cookie.setDomain("example.com");
cookie.setPath("/");
cookieStore.addCookie(cookie);
// RequestConfig কনফিগারেশন তৈরি করা
RequestConfig requestConfig = RequestConfig.custom()
.setCookieSpec("standard") // কুকি স্পেসিফিকেশন নির্ধারণ
.build();
// HttpClient কনফিগারেশন তৈরি করা (কুকি স্টোর সহ)
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCookieStore(cookieStore) // কুকি স্টোর সেট করা
.setDefaultRequestConfig(requestConfig) // কুকি স্পেসিফিকেশন সহ
.build();
try {
// HTTP GET রিকুয়েস্ট তৈরি করা
HttpGet request = new HttpGet("http://example.com");
// রিকুয়েস্ট পাঠানো এবং রেসপন্স গ্রহণ
HttpResponse response = httpClient.execute(request);
// রেসপন্স স্ট্যাটাস কোড পরীক্ষা
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("Response Status Code: " + statusCode);
// রেসপন্স কন্টেন্ট গ্রহণ করা
String responseContent = EntityUtils.toString(response.getEntity());
System.out.println("Response Content: " + responseContent);
// কুকি গুলি দেখানো
System.out.println("Cookies stored: ");
cookieStore.getCookies().forEach(c -> System.out.println(c.getName() + "=" + c.getValue()));
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// HttpClient বন্ধ করা
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
BasicCookieStore
: এটি একটি কুকি স্টোর তৈরি করে, যেখানে আপনি কুকি সঞ্চয় করতে পারেন। এখানে একটি JSESSIONID কুকি উদাহরণ হিসেবে যোগ করা হয়েছে।BasicClientCookie
: এটি একটি কুকি তৈরি করার জন্য ব্যবহৃত হয়। কুকির জন্য নাম, মান, ডোমেন এবং পাথ নির্ধারণ করা হয়।RequestConfig.setCookieSpec("standard")
: এটি কুকি স্পেসিফিকেশন নির্ধারণ করে, যার মাধ্যমে কুকি ব্যবস্থাপনার নিয়ম কনফিগার করা হয়।httpClient.execute(request)
: এটি HTTP GET রিকুয়েস্ট পাঠানোর জন্য ব্যবহৃত হয়। রিকুয়েস্ট পাঠানোর সময় কুকি সঞ্চয় করা হয় এবং পরবর্তী রিকুয়েস্টে সেগুলো স্বয়ংক্রিয়ভাবে পাঠানো হয়।CookieSpecs
: আপনি কুকি ব্যবস্থাপনার জন্য বিভিন্ন কুকি স্পেসিফিকেশন ব্যবহার করতে পারেন। যেমন:CookieSpecs.STANDARD
: সাধারণ কুকি ব্যবস্থাপনা।CookieSpecs.IGNORE_COOKIES
: কুকি উপেক্ষা করা।CookieSpecs.BEST_MATCH
: একটি কুকি স্পেসিফিকেশন যা সেরা ম্যাচের উপর ভিত্তি করে কাজ করে।CookieStore
এর মাধ্যমে সেগুলো ডিরেক্টরি বা ফাইল সিস্টেমে সংরক্ষণ করতে পারেন।Cookies Management এবং Session Handling অ্যাপাচি HTTP ক্লায়েন্টে খুবই গুরুত্বপূর্ণ, কারণ এগুলি রিকুয়েস্টের মধ্যে কুকি পাঠানোর মাধ্যমে সেশন এবং স্টেট ট্র্যাক করতে সাহায্য করে। কুকি সঞ্চয় এবং কুকি স্পেসিফিকেশন কনফিগার করার মাধ্যমে আপনি কুকি ব্যবস্থাপনা নিয়ন্ত্রণ করতে পারবেন এবং প্রয়োজনীয় সেশন তথ্য প্রেরণ করতে পারবেন।
অ্যাপাচি HTTP ক্লায়েন্ট (Apache HTTP Client)-এ Cookies একটি গুরুত্বপূর্ণ ধারণা, যা সার্ভারের পক্ষ থেকে ক্লায়েন্টে কিছু ডেটা সংরক্ষণ এবং পরবর্তী অনুরোধের সাথে পাঠানোর জন্য ব্যবহৃত হয়। Cookies সাধারণত ব্যবহারকারীর সেশন এবং অন্যান্য শর্তাবলী ট্র্যাক করতে ব্যবহৃত হয়।
Cookies হল ছোট ডেটা ফাইল যা একটি ওয়েব সার্ভার ক্লায়েন্ট (ব্রাউজার বা HTTP ক্লায়েন্ট) এ পাঠায়। এই cookies পরবর্তী অনুরোধগুলিতে পুনরায় সার্ভারে পাঠানো হয়। সার্ভার এই তথ্য ব্যবহার করে ব্যবহারকারীর অবস্থান, সেশন ডেটা, প্রিফারেন্স ইত্যাদি ট্র্যাক করতে পারে। Cookies ব্যবহারকারীর পছন্দ অনুযায়ী কনফিগার করা যায় (যেমন, সেশন-কুকি, পার্মানেন্ট কুকি ইত্যাদি)।
HTTP ক্লায়েন্টে cookies ব্যবহারের মাধ্যমে আপনি সার্ভারের সাথে সেশন বজায় রাখতে, ব্যবহারকারীর প্রোফাইল তথ্য সংরক্ষণ করতে এবং বিভিন্ন ধরনের প্রিফারেন্স ট্র্যাক করতে পারেন।
অ্যাপাচি HTTP ক্লায়েন্টে Cookies ব্যবহারের জন্য CookieStore, CookieSpec, এবং CookieManager এর মত কনফিগারেশন ব্যবহার করা হয়। এই কনফিগারেশনগুলির মাধ্যমে ক্লায়েন্টে cookies সংরক্ষণ, পাঠানো এবং পরিচালনা করা যায়।
CookieStore
ব্যবহার করে আমরা cookies সংরক্ষণ করতে পারি। এটি HTTP ক্লায়েন্টের জন্য কুকি সংরক্ষণাগারের মতো কাজ করে।
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.impl.classic.HttpGet;
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
import org.apache.hc.client5.http.impl.cookie.BasicCookieStore;
import org.apache.hc.client5.http.impl.cookie.CookieStore;
import org.apache.hc.core5.util.TimeValue;
public class ApacheHttpClientCookiesExample {
public static void main(String[] args) throws Exception {
// CookieStore তৈরি করা (কুকি সংরক্ষণের জন্য)
CookieStore cookieStore = new BasicCookieStore();
// HTTP ক্লায়েন্ট তৈরি করা, যাতে CookieStore সেট করা হয়
try (CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCookieStore(cookieStore) // CookieStore যোগ করা
.build()) {
// GET অনুরোধ তৈরি করা
HttpGet request = new HttpGet("https://example.com");
// HTTP অনুরোধ পাঠানো এবং প্রতিক্রিয়া গ্রহণ করা
try (CloseableHttpResponse response = httpClient.execute(request)) {
// কুকি পরিদর্শন
cookieStore.getCookies().forEach(cookie ->
System.out.println("Cookie: " + cookie.getName() + " = " + cookie.getValue())
);
System.out.println("HTTP Response Status Code: " + response.getCode());
System.out.println("Response: " + response.getEntity());
}
}
}
}
BasicCookieStore
: এটি কুকি সংরক্ষণের জন্য একটি সাধারণ বাস্তবায়ন।setDefaultCookieStore(cookieStore)
: HTTP ক্লায়েন্টে কুকি সংরক্ষণের জন্য CookieStore সেট করা হয়।একবার কুকি সংরক্ষিত হলে, পরবর্তী HTTP অনুরোধে এই কুকিগুলি স্বয়ংক্রিয়ভাবে পাঠানো হয়। এটি CookieStore দ্বারা পরিচালিত হয়, এবং সার্ভারের সাথে সংযোগ স্থাপন করার সময় কুকিগুলি পাঠানো হয়।
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.impl.classic.HttpGet;
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
import org.apache.hc.client5.http.impl.cookie.BasicCookieStore;
import org.apache.hc.client5.http.impl.cookie.CookieStore;
public class ApacheHttpClientSendCookiesExample {
public static void main(String[] args) throws Exception {
// CookieStore তৈরি করা
CookieStore cookieStore = new BasicCookieStore();
// HTTP ক্লায়েন্ট তৈরি করা, যাতে CookieStore সেট করা হয়
try (CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCookieStore(cookieStore) // CookieStore যোগ করা
.build()) {
// GET অনুরোধ তৈরি করা
HttpGet request = new HttpGet("https://example.com");
// প্রথম অনুরোধ পাঠানো এবং কুকি সংরক্ষণ
try (CloseableHttpResponse response = httpClient.execute(request)) {
System.out.println("HTTP Response Status Code: " + response.getCode());
System.out.println("Response: " + response.getEntity());
}
// দ্বিতীয় GET অনুরোধ যেখানে কুকি স্বয়ংক্রিয়ভাবে পাঠানো হবে
HttpGet request2 = new HttpGet("https://example.com/another");
try (CloseableHttpResponse response2 = httpClient.execute(request2)) {
System.out.println("HTTP Response Status Code (second request): " + response2.getCode());
}
}
}
}
CookieSpec
ক্লায়েন্টে কুকি ব্যবস্থাপনা কাস্টমাইজ করতে ব্যবহৃত হয়। এটি বিশেষত গুরুত্বপূর্ণ যখন আপনি কুকি স্পেসিফিকেশন যেমন RFC 6265 অনুসরণ করতে চান বা কুকি পরিচালনার জন্য কাস্টম নিয়ম তৈরি করতে চান।
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.impl.cookie.CookieSpecFactory;
import org.apache.hc.client5.http.impl.cookie.DefaultCookieSpecFactory;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
public class CustomCookieSpecExample {
public static void main(String[] args) {
CookieSpecFactory cookieSpecFactory = new DefaultCookieSpecFactory();
// কাস্টম CookieSpec ব্যবহার করা
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCookieSpecRegistry(cookieSpecFactory)
.build();
}
}
অ্যাপাচি HTTP ক্লায়েন্টে Cookies ব্যবহার করার মাধ্যমে, আপনি সার্ভারের সাথে সেশন বজায় রাখতে, ব্যবহারকারীর পছন্দ এবং প্রিফারেন্স ট্র্যাক করতে পারেন। CookieStore
এবং CookieSpec
ব্যবহার করে আপনি কুকি সংরক্ষণ, পাঠানো এবং কাস্টমাইজ করতে পারেন। কুকি সংরক্ষণের জন্য সাধারণত BasicCookieStore
ব্যবহৃত হয় এবং কুকি গুলি স্বয়ংক্রিয়ভাবে পরবর্তী অনুরোধে পাঠানো হয়। এই ব্যবস্থাপনার মাধ্যমে, আপনার অ্যাপ্লিকেশন আরও ব্যক্তিগত এবং নিরাপদ হতে পারে।
CookieStore ব্যবহার করে Apache HTTP Client-এ Cookies ম্যানেজ করার জন্য আপনাকে HttpClient-এ Cookie handling কনফিগার করতে হবে। CookieStore
একটি ইনটারফেস যা HTTP ক্লায়েন্টের মধ্যে কুকি সঞ্চয় এবং পুনরুদ্ধারের জন্য ব্যবহৃত হয়। এটি ক্লায়েন্টের কুকি সংগ্রহ সঞ্চয় করে, যাতে সার্ভার থেকে প্রাপ্ত কুকি-গুলি পরবর্তী রিকোয়েস্টে ব্যবহার করা যায়।
প্রথমে, যদি আপনার প্রোজেক্টে Maven ব্যবহৃত হয়, তবে আপনাকে Apache HTTP Client-এর জন্য প্রয়োজনীয় ডিপেনডেন্সি যুক্ত করতে হবে।
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.4</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.core5</groupId>
<artifactId>httpcore5</artifactId>
<version>5.4</version>
</dependency>
Apache HTTP Client-এ CookieStore ব্যবহার করে কুকি ম্যানেজমেন্টের জন্য আপনাকে CookieStore সেট করতে হবে এবং HttpClient
কনফিগারেশনের মধ্যে এটি সংযুক্ত করতে হবে। এটি কুকি সংগ্রহ করার জন্য এবং রিকোয়েস্টে কুকি পাঠানোর জন্য ব্যবহৃত হয়।
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.methods.HttpGet;
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
import org.apache.http.impl.client.CookieStore;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.RequestConfig;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
public class HttpClientWithCookieStore {
public static void main(String[] args) {
// CookieStore তৈরি করা
CookieStore cookieStore = new BasicCookieStore();
// HTTP ক্লায়েন্ট কনফিগারেশন তৈরি, CookieStore যোগ করা
try (CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCookieStore(cookieStore) // CookieStore সেট করা
.build()) {
// HTTP GET রিকোয়েস্ট তৈরি
HttpGet request = new HttpGet("https://your-api-endpoint.com");
// রিকোয়েস্ট পাঠানো এবং রেসপন্স প্রাপ্তি
try (CloseableHttpResponse response = httpClient.execute(request)) {
String responseBody = EntityUtils.toString(response.getEntity());
System.out.println("Response: " + responseBody);
// কুকি গুলি প্রদর্শন করা
cookieStore.getCookies().forEach(cookie -> System.out.println("Cookie: " + cookie.getName() + "=" + cookie.getValue()));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
BasicCookieStore
ব্যবহার করা হয়েছে। এটি কুকি সঞ্চয় করতে এবং পরবর্তী রিকোয়েস্টে পাঠাতে সক্ষম।HttpClients.custom()
ব্যবহার করে কাস্টম কনফিগারেশন সহ CloseableHttpClient
তৈরি করা হয়েছে। এখানে setDefaultCookieStore(cookieStore)
মেথড ব্যবহার করে কুকি স্টোর সেট করা হয়েছে।HttpGet
রিকোয়েস্ট তৈরি করা হয়েছে এবং httpClient.execute(request)
মেথড দ্বারা সার্ভারে পাঠানো হয়েছে।cookieStore.getCookies()
ব্যবহার করে কুকি গুলি অ্যাক্সেস করা হয় এবং কনসোলে প্রিন্ট করা হয়।cookieStore.getCookies()
মেথডের মাধ্যমে কুকি গুলি পুনরুদ্ধার করা যায়।cookieStore.clear()
ব্যবহার করে সমস্ত কুকি মুছে ফেলা যায়।Apache HTTP Client-এ CookieStore ব্যবহার করে কুকি ম্যানেজমেন্ট করা যায়। BasicCookieStore
কুকি সংগ্রহ করার জন্য এবং HttpClient
কনফিগারেশনে setDefaultCookieStore
ব্যবহার করে কুকি পাঠানোর জন্য ব্যবহৃত হয়। getCookies()
মেথড ব্যবহার করে আপনি কুকি সংগ্রহ করতে পারেন এবং রেসপন্সের পর এগুলি অ্যাক্সেস করতে পারেন।
Cookies হল ছোট তথ্যের টুকরা যা সার্ভার থেকে ক্লায়েন্টে পাঠানো হয় এবং ক্লায়েন্ট (ব্রাউজার) বা সার্ভারে সংরক্ষণ করা হয়। HTTP প্রোটোকলের মধ্যে, Cookies প্রায়ই ব্যবহৃত হয় সেশন ডেটা ট্র্যাক করার জন্য, ইউজারের পার্সোনালাইজড অভিজ্ঞতা প্রদান করার জন্য, এবং সার্ভারের মধ্যে যোগাযোগের স্থিতি বজায় রাখার জন্য।
Persistent এবং Non-persistent Cookies দুটি প্রধান ধরনের কুকি রয়েছে:
বৈশিষ্ট্য | Persistent Cookies | Non-persistent Cookies |
---|---|---|
সংরক্ষণের সময়কাল | নির্দিষ্ট সময়সীমা থাকে, যেমন এক সপ্তাহ, এক মাস, ইত্যাদি | শুধুমাত্র সেশনের জন্য, ব্রাউজার বন্ধ হলে মুছে যায় |
জীবনকাল | দীর্ঘ (সময় নির্ধারণ করা থাকে) | স্বল্প (ব্রাউজার বন্ধ হলে মুছে যায়) |
ব্যবহার | ইউজারের পরিচিতি এবং প্রেফারেন্স ট্র্যাক করা | সেশনের তথ্য যেমন লগইন স্টেটাস ট্র্যাক করা |
উদাহরণ | লগইন তথ্য সংরক্ষণ, ব্যবহারের জন্য পছন্দগুলি | সেশনের মধ্যে চলমান তথ্য (যেমন, কার্টে আইটেম রাখার জন্য) |
Apache HTTP Client-এ কুকি ব্যবস্থাপনা করতে CookieStore
এবং HttpClientContext
ব্যবহার করা হয়। এখানে, আমরা Persistent এবং Non-persistent কুকি ব্যবস্থাপনার জন্য কোড উদাহরণ দেখব।
Non-persistent Cookies সেশনের মধ্যে সংরক্ষণ করা হয়, এবং ব্রাউজার বন্ধ করার পর মুছে যায়।
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.apache.http.impl.cookie.CookieSpecBase;
import org.apache.http.impl.client.HttpClientContext;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.cookie.CookieSpec;
import java.util.List;
public class NonPersistentCookiesExample {
public static void main(String[] args) {
try {
// CookieStore তৈরি করা
BasicCookieStore cookieStore = new BasicCookieStore();
// Non-persistent Cookie তৈরি করা (ব্রাউজার বন্ধ হলে মুছে যাবে)
BasicClientCookie cookie = new BasicClientCookie("session_id", "123456");
cookie.setDomain("example.com");
cookie.setPath("/");
cookie.setExpiryDate(null); // কোন Expiry Date সেট করা হবে না, সেজন্য এটি Non-persistent
cookieStore.addCookie(cookie);
// HttpClient তৈরি করা
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.build();
// GET অনুরোধ তৈরি করা
HttpGet httpGet = new HttpGet("https://example.com");
// HTTP অনুরোধ পাঠানো
HttpClientContext context = HttpClientContext.create();
context.setCookieStore(cookieStore);
httpClient.execute(httpGet, context);
// কুকি দেখানো
List<Cookie> cookies = cookieStore.getCookies();
for (Cookie c : cookies) {
System.out.println("Cookie: " + c.getName() + " = " + c.getValue());
}
// ক্লোজ করা
httpClient.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Persistent Cookies-এর ক্ষেত্রে একটি নির্দিষ্ট expiry date সেট করা হয়, যার পর এটি মুছে যায় না।
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.apache.http.impl.client.HttpClientContext;
import org.apache.http.cookie.Cookie;
import java.util.Date;
import java.util.List;
public class PersistentCookiesExample {
public static void main(String[] args) {
try {
// CookieStore তৈরি করা
BasicCookieStore cookieStore = new BasicCookieStore();
// Persistent Cookie তৈরি করা (একটি expiry date সহ)
BasicClientCookie cookie = new BasicClientCookie("user_token", "abcdef123456");
cookie.setDomain("example.com");
cookie.setPath("/");
// Expiry Date সেট করা
Date expiryDate = new Date(System.currentTimeMillis() + 24 * 60 * 60 * 1000); // 1 দিন পর
cookie.setExpiryDate(expiryDate);
cookieStore.addCookie(cookie);
// HttpClient তৈরি করা
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.build();
// GET অনুরোধ তৈরি করা
HttpGet httpGet = new HttpGet("https://example.com");
// HTTP অনুরোধ পাঠানো
HttpClientContext context = HttpClientContext.create();
context.setCookieStore(cookieStore);
httpClient.execute(httpGet, context);
// কুকি দেখানো
List<Cookie> cookies = cookieStore.getCookies();
for (Cookie c : cookies) {
System.out.println("Cookie: " + c.getName() + " = " + c.getValue() + " Expiry Date: " + c.getExpiryDate());
}
// ক্লোজ করা
httpClient.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
cookie.setExpiryDate(null)
ব্যবহার করে non-persistent কুকি তৈরি করা হয়, যার ফলে এটি শুধুমাত্র সেশন চলাকালীন থাকে।cookie.setExpiryDate(expiryDate)
ব্যবহার করে persistent কুকি তৈরি করা হয়, যা একটি নির্দিষ্ট সময় পরে (যেমন 1 দিন পরে) মুছে যাবে।BasicCookieStore
ব্যবহার করে কুকি সংরক্ষণ করা হয়, এবং সেটি HttpClient
-এ সেট করা হয় যাতে কুকি পাঠানো যায় এবং সেগুলি ট্র্যাক করা যায়।HttpClientContext
-এ CookieStore
সংযুক্ত করা হয়, যাতে কুকি ব্যবস্থাপনা করা যায় এবং সার্ভারের কাছ থেকে রেসপন্সের কুকি সংগ্রহ করা যায়।Persistent এবং Non-persistent Cookies HTTP ক্লায়েন্টে ব্যবহারকারীর সেশন এবং প্রেফারেন্স ট্র্যাক করার জন্য ব্যবহৃত হয়। Non-persistent Cookies সেশনের জন্য সংরক্ষিত থাকে এবং ব্রাউজার বন্ধ হলে মুছে যায়, যখন Persistent Cookies একটি নির্দিষ্ট সময়ের জন্য ব্রাউজারে থাকে। Apache HTTP Client-এ কুকি ব্যবস্থাপনা সহজভাবে করা যায় এবং কাস্টম কুকি তৈরি, সেটিং, এবং সার্ভারের সাথে শেয়ার করা যায়।
common.read_more