Apache HTTP Client: Custom Headers এবং User-Agent সেট করা
Apache HTTP Client ব্যবহারের মাধ্যমে HTTP request পাঠানোর সময় প্রয়োজন অনুসারে custom headers এবং User-Agent সেট করা যেতে পারে। Custom headers ব্যবহার করে আমরা সার্ভারের কাছে অতিরিক্ত তথ্য পাঠাতে পারি, যেমন Authentication Token, API Key, বা অন্যান্য কাস্টম তথ্য। User-Agent header সাধারণত ব্রাউজার বা ক্লায়েন্টের পরিচয় দেয়, যা সার্ভারকে জানায় যে কোন ডিভাইস বা সফটওয়্যার থেকে request আসছে।
Custom Headers এবং User-Agent সেট করতে হলে, HTTP request-এ নির্দিষ্ট header যুক্ত করতে হয়।
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.apache.http.impl.client.HttpClientBuilder;
public class ApacheHttpClientCustomHeadersExample {
public static void main(String[] args) {
// HTTP ক্লায়েন্ট তৈরি
try (CloseableHttpClient httpClient = HttpClientBuilder.create().build()) {
// POST Request এর URL
String url = "https://example.com/api";
// HttpPost অবজেক্ট তৈরি
HttpPost postRequest = new HttpPost(url);
// JSON বা অন্য ধরনের ডেটা পাঠানোর জন্য কন্টেন্ট সেট করা
String json = "{ \"name\": \"John\", \"age\": 30 }";
StringEntity entity = new StringEntity(json);
// Request Content-Type সেট করা
postRequest.setEntity(entity);
postRequest.setHeader("Accept", "application/json");
postRequest.setHeader("Content-Type", "application/json");
// Custom Headers সেট করা
postRequest.setHeader("Authorization", "Bearer your_token_here");
postRequest.setHeader("X-Custom-Header", "CustomValue");
// User-Agent header সেট করা
postRequest.setHeader("User-Agent", "ApacheHttpClient/4.5.13");
// POST Request পাঠানো এবং Response গ্রহণ করা
HttpResponse response = httpClient.execute(postRequest);
// Response থেকে স্ট্যাটাস কোড এবং কন্টেন্ট নেওয়া
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("Response Code: " + statusCode);
HttpEntity responseEntity = response.getEntity();
if (responseEntity != null) {
String responseBody = EntityUtils.toString(responseEntity);
System.out.println("Response Body: " + responseBody);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
setHeader("Authorization", "Bearer your_token_here")
: এই header ব্যবহার করে আপনি authorization token পাঠাতে পারেন, যা API endpoint-এর জন্য প্রয়োজনীয়।setHeader("X-Custom-Header", "CustomValue")
: এটি একটি কাস্টম header যা আপনার নির্দিষ্ট ডেটা বা মান সার্ভারে পাঠাতে ব্যবহৃত হয়।setHeader("User-Agent", "ApacheHttpClient/4.5.13")
: এই header সার্ভারকে জানায় যে requestটি ApacheHttpClient দ্বারা পাঠানো হয়েছে। এটি সাধারণত সার্ভারটিকে ক্লায়েন্টের প্রকার নির্ধারণ করতে সহায়ক।Apache HTTP Client এর মাধ্যমে custom headers এবং User-Agent header সেট করা খুবই সহজ এবং এটি API কলের নিরাপত্তা এবং কার্যকারিতা উন্নত করতে সাহায্য করে। Custom headers যেমন Authorization এবং X-Custom-Header ব্যবহার করা যায়, এবং User-Agent header ব্যবহার করে ক্লায়েন্টের প্রকার শনাক্ত করা যায়।
common.read_more