HttpPost ব্যবহার করে POST Request পাঠানো

Java Technologies - অ্যাপাচি এইচটিটিপি ক্লায়েন্ট (Apache HTTP Client) - HTTP Request পাঠানো
297

Apache HTTP Client ব্যবহার করে HttpPost ব্যবহার করে একটি POST request পাঠানোর উদাহরণ নিচে দেওয়া হলো। এটি জাভা প্রোগ্রামিং ভাষায় লেখা।

এই উদাহরণে, আমরা একটি নির্দিষ্ট URL-এ ডেটা পাঠাব এবং সার্ভারের কাছ থেকে রেসপন্স গ্রহণ করব।


কোড উদাহরণ:

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;

public class ApacheHttpClientPostExample {
    public static void main(String[] args) {
        // HTTP ক্লায়েন্ট তৈরি
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            
            // 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");

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

গুরুত্বপূর্ণ বিষয়:

  1. HttpPost ক্লাস:
    এটি POST request তৈরি ও পরিচালনার জন্য ব্যবহৃত হয়।
  2. StringEntity:
    এটি এমন ডেটা ধারণ করে যা POST বডিতে পাঠানো হবে। সাধারণত JSON বা XML ডেটা পাঠাতে ব্যবহৃত হয়।
  3. HttpClients.createDefault():
    একটি ডিফল্ট HTTP ক্লায়েন্ট তৈরি করে।
  4. Headers সেট করা:
    • Accept: সার্ভার থেকে কী ধরনের রেসপন্স প্রত্যাশা করছেন।
    • Content-Type: পাঠানো ডেটার ফরম্যাট।
  5. EntityUtils.toString():
    Response ডেটা String আকারে পড়ে।

Dependency (Maven):

Apache HTTP Client ব্যবহার করার জন্য Maven-এর pom.xml ফাইলে নিচের dependency যোগ করুন:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.13</version>
</dependency>

আউটপুট:

যদি POST request সফল হয়, তাহলে এটি এরকম আউটপুট দিতে পারে:

Response Code: 200
Response Body: { "message": "Data received successfully" }

যদি কোনও অংশে সমস্যা হয় বা আপনাকে নির্দিষ্ট ডেটা হ্যান্ডলিং নিয়ে সাহায্য প্রয়োজন, জানাতে পারেন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...