Response Body থেকে JSON বা XML ডেটা রিড করা

Java Technologies - অ্যাপাচি এইচটিটিপি ক্লায়েন্ট (Apache HTTP Client) Response হ্যান্ডেল করা |
193
193

অ্যাপাচি HTTP ক্লায়েন্ট (Apache HTTP Client) ব্যবহার করে Response Body থেকে JSON বা XML ডেটা পড়া একটি সাধারণ কাজ। এটি HTTP রিকোয়েস্ট পাঠানোর পর রেসপন্সের বডি থেকে ডেটা রিড করার জন্য ব্যবহৃত হয়। JSON এবং XML সাধারণত সার্ভিস থেকে প্রাপ্ত ডেটা বিন্যাস হিসাবে ব্যবহৃত হয়। নিচে JSON এবং XML ডেটা রিড করার জন্য উদাহরণ দেওয়া হয়েছে।

JSON ডেটা রিড করা:

JSON ডেটা রিড করতে সাধারণত org.apache.http.impl.client.HttpClients ক্লাস ব্যবহার করা হয় এবং রেসপন্স বডি থেকে JSON ডেটা পড়তে org.apache.http.util.EntityUtils ক্লাসের সাহায্যে রেসপন্স বডি ক্যাপচার করা হয়। তারপর, JSON প্যার্স করতে org.json অথবা com.fasterxml.jackson লাইব্রেরি ব্যবহার করা যেতে পারে।

Maven Dependency (JSON Parsing):

<dependency>
    <groupId>org.apache.httpcomponents.client5</groupId>
    <artifactId>httpclient5</artifactId>
    <version>5.4</version>
</dependency>
<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20210307</version>
</dependency>

উদাহরণ: JSON ডেটা রিড করা

import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.apache.hc.client5.http.classic.methods.CloseableHttpResponse;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;

import java.io.IOException;

public class HttpClientExample {
    public static void main(String[] args) {
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            HttpGet request = new HttpGet("https://jsonplaceholder.typicode.com/todos/1");
            try (CloseableHttpResponse response = httpClient.execute(request)) {
                String responseBody = EntityUtils.toString(response.getEntity());

                // JSON প্যার্স করা
                JSONObject jsonObject = new JSONObject(responseBody);
                System.out.println("JSON Response: " + jsonObject.toString(2));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  1. HTTP GET রিকোয়েস্ট: HttpGet ব্যবহার করে একটি GET রিকোয়েস্ট তৈরি করা হয়।
  2. Response Body থেকে ডেটা রিড: EntityUtils.toString() মেথড ব্যবহার করে রেসপন্স বডি পাঠ করা হয়।
  3. JSON প্যার্সিং: JSONObject ব্যবহার করে JSON ডেটা প্যার্স করা হয় এবং তা প্রিন্ট করা হয়।

XML ডেটা রিড করা:

XML ডেটা রিড করার জন্য, Apache HTTP Client ব্যবহার করা যায় এবং XML প্যার্স করার জন্য javax.xml.parsers.DocumentBuilder বা অন্যান্য XML প্যার্সিং লাইব্রেরি ব্যবহার করা হয়।

Maven Dependency (XML Parsing):

<dependency>
    <groupId>org.apache.httpcomponents.client5</groupId>
    <artifactId>httpclient5</artifactId>
    <version>5.4</version>
</dependency>

উদাহরণ: XML ডেটা রিড করা

import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.apache.hc.client5.http.classic.methods.CloseableHttpResponse;
import org.apache.http.util.EntityUtils;
import org.w3c.dom.Document;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.ByteArrayInputStream;
import java.io.IOException;

public class HttpClientExample {
    public static void main(String[] args) {
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            HttpGet request = new HttpGet("https://www.w3schools.com/xml/note.xml");
            try (CloseableHttpResponse response = httpClient.execute(request)) {
                String responseBody = EntityUtils.toString(response.getEntity());

                // XML প্যার্স করা
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                DocumentBuilder builder = factory.newDocumentBuilder();
                ByteArrayInputStream inputStream = new ByteArrayInputStream(responseBody.getBytes());
                Document document = builder.parse(inputStream);
                System.out.println("XML Response: " + document.getDocumentElement().getNodeName());
            }
        } catch (IOException | Exception e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  1. HTTP GET রিকোয়েস্ট: HttpGet ব্যবহার করে একটি GET রিকোয়েস্ট তৈরি করা হয়।
  2. Response Body থেকে ডেটা রিড: EntityUtils.toString() মেথড ব্যবহার করে রেসপন্স বডি পাঠ করা হয়।
  3. XML প্যার্সিং: DocumentBuilderFactory এবং DocumentBuilder ব্যবহার করে XML ডেটা প্যার্স করা হয়।

সারাংশ:

Apache HTTP Client ব্যবহার করে HTTP রিকোয়েস্ট পাঠানো এবং JSON বা XML ডেটা রিড করা সম্ভব। JSON ডেটা রিড করার জন্য org.json বা com.fasterxml.jackson লাইব্রেরি ব্যবহার করা হয় এবং XML ডেটা রিড করার জন্য javax.xml.parsers.DocumentBuilder ব্যবহার করা হয়। Response Body থেকে ডেটা রিড করার জন্য EntityUtils.toString() মেথড ব্যবহার করা হয়।

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

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

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

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