FormData Request পাঠানো

Java Technologies - অ্যাপাচি এইচটিটিপি ক্লায়েন্ট (Apache HTTP Client) Multi-part/Form Data Request পাঠানো |
164
164

Apache HTTP Client: FormData Request পাঠানো

Apache HTTP Client ব্যবহার করে FormData পাঠানো একটি সাধারণ প্রক্রিয়া, যা ফর্ম ডেটা বা অন্যান্য ধরনের ডেটা (যেমন ফাইল) POST request-এর মাধ্যমে পাঠানোর জন্য ব্যবহৃত হয়। এই ধরনের ডেটা পাঠাতে, HttpPost এবং MultipartEntityBuilder ব্যবহার করা হয়।

FormData Request পাঠানোর পদ্ধতি:

ফর্ম ডেটা পাঠাতে হলে, MultipartEntityBuilder ব্যবহার করে POST request তৈরি করতে হয়। এটি বিভিন্ন ধরনের ডেটা (যেমন টেক্সট, ফাইল, ইমেজ ইত্যাদি) মিশ্রণ করতে সাহায্য করে এবং ডেটাকে multipart/form-data ফরম্যাটে সার্ভারে পাঠায়।

কোড উদাহরণ:

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.File;

public class ApacheHttpClientFormDataExample {
    public static void main(String[] args) {
        // HttpClient তৈরি করা
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {

            // POST Request এর URL
            String url = "https://example.com/upload";

            // HttpPost অবজেক্ট তৈরি
            HttpPost postRequest = new HttpPost(url);

            // MultipartEntityBuilder ব্যবহার করে FormData তৈরি
            MultipartEntityBuilder builder = MultipartEntityBuilder.create();
            
            // ফর্ম ডেটা যোগ করা (যেমন text)
            builder.addPart("name", new StringBody("John Doe"));
            builder.addPart("age", new StringBody("30"));
            
            // ফাইল ডেটা যোগ করা (যেমন image)
            File file = new File("path/to/your/file.txt");
            builder.addPart("file", new FileBody(file));

            // Request Entity সেট করা
            HttpEntity entity = builder.build();
            postRequest.setEntity(entity);

            // 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. MultipartEntityBuilder:
    • MultipartEntityBuilder.create(): এটি একটি নতুন MultipartEntityBuilder তৈরি করে যা বিভিন্ন ফর্ম ডেটা এবং ফাইল সংযোজন করতে ব্যবহৃত হয়।
    • addPart("name", new StringBody("John Doe")): এখানে ফর্ম ফিল্ড "name" এর মান "John Doe" পাঠানো হচ্ছে।
    • addPart("file", new FileBody(file)): এখানে একটি ফাইল পাঠানো হচ্ছে, যা FileBody দ্বারা চিহ্নিত।
  2. HttpPost request:
    • POST request তৈরি করা হয়েছে এবং তার পর setEntity() মেথড ব্যবহার করে ফর্ম ডেটা এবং ফাইল Entity হিসেবে সেট করা হয়েছে।
  3. Response Handling:
    • Response কোড এবং কন্টেন্ট EntityUtils.toString() ব্যবহার করে পাঠানো ডেটা রিড করা হয়েছে।

Important Headers:

  • Content-Type: Multipart/form-data ফরম্যাটে ডেটা পাঠানো হয়, যা ফাইল এবং অন্যান্য ফর্ম ডেটার জন্য ব্যবহার করা হয়।
  • HttpEntity: এটি POST request-এর মাধ্যমে পাঠানো ডেটা সংরক্ষণ করে।

সারাংশ:

Apache HTTP Client ব্যবহার করে FormData পাঠানো খুবই সহজ, বিশেষত MultipartEntityBuilder ব্যবহার করে ফর্ম ডেটা এবং ফাইল একত্রে সার্ভারে পাঠানো যায়। এই পদ্ধতি সাধারণত ফাইল আপলোড এবং ফর্ম ডেটা পাঠানোর জন্য ব্যবহৃত হয়। StringBody এবং FileBody-এর মাধ্যমে টেক্সট এবং ফাইল ডেটা ফর্মে পাঠানো হয় এবং সার্ভার থেকে response পাওয়া যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion