InputStream এবং OutputStream ব্যবহার করে ডেটা হ্যান্ডেল করা

Java Technologies - অ্যাপাচি এইচটিটিপি ক্লায়েন্ট (Apache HTTP Client) Streaming এবং Large File Handling |
162
162

অ্যাপাচি এইচটিটিপি ক্লায়েন্ট (Apache HTTP Client) একটি শক্তিশালী লাইব্রেরি যা HTTP অনুরোধ এবং উত্তরগুলি সহজে পরিচালনা করার জন্য ব্যবহৃত হয়। এটি HTTP প্রোটোকল ব্যবহার করে সার্ভারের সাথে যোগাযোগের সময় InputStream এবং OutputStream ব্যবহার করে ডেটা হ্যান্ডেল করার সুবিধা দেয়। এই লেখায় আমরা বিস্তারিতভাবে জানব কীভাবে InputStream এবং OutputStream ব্যবহার করে অ্যাপাচি এইচটিটিপি ক্লায়েন্টে ডেটা প্রেরণ এবং গ্রহণ করা যায়।


InputStream ব্যবহার করে ডেটা গ্রহণ

যখন আমরা একটি HTTP অনুরোধ পাঠাই, তখন সার্ভার থেকে একটি উত্তর (response) প্রাপ্ত হয়। এই উত্তরটি সাধারণত InputStream এর মাধ্যমে প্রাপ্ত হয়, যা ডেটা সংগ্রহ এবং প্রক্রিয়া করার জন্য ব্যবহৃত হয়।

উদাহরণ

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.client.HttpClient;
import org.apache.http.util.EntityUtils;

import java.io.IOException;
import java.io.InputStream;

public class HttpClientExample {
    public static void main(String[] args) throws IOException {
        HttpClient client = HttpClients.createDefault();
        HttpGet request = new HttpGet("https://www.example.com");

        // সার্ভার থেকে রেসপন্স পাওয়া
        org.apache.http.HttpResponse response = client.execute(request);
        HttpEntity entity = response.getEntity();

        // InputStream দিয়ে ডেটা পড়া
        InputStream inputStream = entity.getContent();
        String result = EntityUtils.toString(entity);

        System.out.println("Response: " + result);
        inputStream.close();
    }
}

এখানে, InputStream ব্যবহার করে সার্ভার থেকে ডেটা পড়া হচ্ছে এবং EntityUtils.toString() ব্যবহার করে সেই ডেটা টেক্সট আকারে রূপান্তরিত হচ্ছে।


OutputStream ব্যবহার করে ডেটা প্রেরণ

অ্যাপাচি এইচটিটিপি ক্লায়েন্টে HTTP অনুরোধের সাথে ডেটা প্রেরণ করার জন্য OutputStream ব্যবহার করা হয়। সাধারণত, POST বা PUT অনুরোধগুলিতে ডেটা প্রেরণ করা হয়, যেখানে কন্টেন্ট OutputStream এর মাধ্যমে পাঠানো হয়।

উদাহরণ

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.client.HttpClient;
import org.apache.http.entity.StringEntity;

import java.io.IOException;
import java.io.OutputStream;

public class HttpPostExample {
    public static void main(String[] args) throws IOException {
        HttpClient client = HttpClients.createDefault();
        HttpPost post = new HttpPost("https://www.example.com");

        // JSON ডেটা তৈরি করা
        String json = "{\"name\":\"John\", \"age\":30}";

        // OutputStream ব্যবহার করে ডেটা প্রেরণ
        StringEntity entity = new StringEntity(json);
        post.setEntity(entity);
        post.setHeader("Content-Type", "application/json");

        // সার্ভারে POST অনুরোধ পাঠানো
        org.apache.http.HttpResponse response = client.execute(post);

        System.out.println("Response Status: " + response.getStatusLine());
    }
}

এখানে, OutputStream ব্যবহার করে একটি POST অনুরোধের মাধ্যমে JSON ডেটা সার্ভারে প্রেরণ করা হচ্ছে। StringEntity এর মাধ্যমে ডেটা পাঠানো হচ্ছে এবং Content-Type হেডার নির্ধারণ করা হচ্ছে যাতে সার্ভার সঠিকভাবে ডেটা গ্রহণ করতে পারে।


সারাংশ

অ্যাপাচি এইচটিটিপি ক্লায়েন্ট (Apache HTTP Client) এর মাধ্যমে InputStream এবং OutputStream ব্যবহার করে HTTP অনুরোধ এবং উত্তর হ্যান্ডেল করা সহজ। InputStream ব্যবহার করে ডেটা গ্রহণ এবং OutputStream ব্যবহার করে ডেটা প্রেরণ করা হয়। এই দুটি স্ট্রিম ব্যবহারের মাধ্যমে আমরা HTTP অনুরোধ এবং উত্তরগুলিকে কার্যকরভাবে পরিচালনা করতে পারি।


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

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

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

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