Apache HTTP Client একটি জনপ্রিয় লাইব্রেরি যা HTTP অনুরোধ এবং প্রতিক্রিয়া পরিচালনার জন্য ব্যবহৃত হয়। HttpResponse এবং HttpEntity হল এই লাইব্রেরির দুটি গুরুত্বপূর্ণ ক্লাস যা HTTP অনুরোধ থেকে ডেটা প্রাপ্তির জন্য ব্যবহৃত হয়।
নিচে সংক্ষিপ্তভাবে এই দুটি ক্লাসের ব্যবহার এবং একটি উদাহরণ দেওয়া হলো:
HttpResponse
HttpResponseHTTP সার্ভার থেকে প্রাপ্ত প্রতিক্রিয়া উপস্থাপন করে।- এটি HTTP স্ট্যাটাস কোড, শিরোনাম (headers), এবং বডি ডেটা ধারণ করে।
- সাধারণত
CloseableHttpClientব্যবহার করে HTTP অনুরোধ পাঠানোর পরেHttpResponseএর মাধ্যমে প্রতিক্রিয়া পাওয়া যায়।
HttpEntity
HttpEntityহল HTTP বার্তার বডি, যা সাধারণত অনুরোধ বা প্রতিক্রিয়ার ডেটা ধারণ করে।- এটি স্ট্রিম, স্ট্রিং, বা বাইনারি ডেটার ফর্মে ডেটা প্রদান করতে পারে।
- এটি প্রাথমিকভাবে ডেটা পড়া বা লিখতে ব্যবহৃত হয়।
উদাহরণ: HttpResponse এবং HttpEntity ব্যবহার
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class ApacheHttpClientExample {
public static void main(String[] args) {
// HttpClient তৈরি করুন
CloseableHttpClient httpClient = HttpClients.createDefault();
try {
// HTTP GET অনুরোধ তৈরি করুন
HttpGet request = new HttpGet("https://jsonplaceholder.typicode.com/posts/1");
// অনুরোধ পাঠিয়ে প্রতিক্রিয়া সংগ্রহ করুন
CloseableHttpResponse response = httpClient.execute(request);
try {
// HttpResponse থেকে স্ট্যাটাস কোড পান
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("HTTP Status Code: " + statusCode);
// HttpResponse থেকে HttpEntity পান
HttpEntity entity = response.getEntity();
if (entity != null) {
// HttpEntity থেকে কনটেন্ট স্ট্রিং আকারে পড়ুন
String result = EntityUtils.toString(entity);
System.out.println("Response Content: " + result);
}
} finally {
// প্রতিক্রিয়া বন্ধ করুন
response.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// HttpClient বন্ধ করুন
httpClient.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
এই কোড HTTP অনুরোধের বডি (যেমন JSON ডেটা) সংগ্রহ এবং প্রসেস করার জন্য কার্যকর। প্রয়োজন অনুসারে HttpPost, HttpPut, বা অন্যান্য HTTP পদ্ধতিও ব্যবহার করা যেতে পারে।
Content added By
Read more