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 (और देखें)
और जानने के लिए, निम्नलिखित रिसोर्सेज मददगार हो सकते हैं:
- Java™ SE Development Kit 11 Documentation
- HTTP अनुरोधों के लिए Official Java Tutorial
- httpbin.org - HTTP अनुरोध परीक्षा करने के लिए वेबसाइट
- Mozila MDN Web Docs: HTTP - HTTP के बारे में गहराई से समझने के लिए