Java:
HTTP अनुरोध भेजना

How to: (कैसे करें?)

Java में HTTP अनुरोध भेजने के लिए java.net.http पैकेज इस्तेमाल होता है। ये आपको आसानी से GET और POST अनुरोध करने देता है। यहाँ एक GET अनुरोध का उदाहरण है:

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;
import java.net.URISyntaxException;

public class HttpExample {
    public static void main(String[] args) throws IOException, InterruptedException, URISyntaxException {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                              .uri(new URI("http://httpbin.org/get"))
                              .build();
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}

यदि आप उपरोक्त कोड को चलाएंगे, तो आपको जवाब में JSON डेटा मिलेगा, जो http://httpbin.org/get सर्वर से आपके GET अनुरोध का डिटेल्स होगा।

Deep Dive (गहराई से जानकारी)

जावा में HTTP अनुरोध की सुविधा पहले HttpURLConnection क्लास से मिलती थी, लेकिन Java 11 से java.net.http.HttpClient यह ज्यादा सहज और मॉडर्न विकल्प बन गया है। हम HttpRequest.Builder से विभिन्न प्रकार के HTTP अनुरोध तैयार कर सकते हैं, जैसे GET, POST, PUT, DELETE आदि। HttpClient असिंक्रोनस अनुरोध भेजने की सुविधा भी देता है, जिससे ऐप्लिकेशन के प्रदर्शन में सुधार होता है।

कई बार हमें तीसरे पक्ष के libraries जैसे कि Apache HttpClient, OkHttp आदि का इस्तेमाल करना पड़ता था, पर Java 11 के बाद से Java की Core API में ही यह सुविधा आ गई है। Implementation में HttpClient इंटरनल रूप से NIO (Non-blocking I/O) का इस्तेमाल करता है जो अनुरोधों को ज्यादा कुशलता से संभालता है।

See Also (और देखें)

और जानने के लिए, निम्नलिखित रिसोर्सेज मददगार हो सकते हैं: