I/O مبتدئ

استخدم HttpClient المدمج لطلبات HTTP نظيفة وحديثة.

✕ Java 8
URL url = new URL("https://api.com/data");
HttpURLConnection con =
    (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
// read lines, close streams...
✓ Java 11+
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.com/data"))
    .build();
var response = client.send(
    request, BodyHandlers.ofString());
String body = response.body();
هل ترى مشكلة في هذا الكود؟ أخبرنا.
📐

واجهة برمجية للمنشئ

منشئ سائل للطلبات والرؤوس والمهل الزمنية.

🔄

دعم HTTP/2

HTTP/2 مدمج مع تعدد الإرسال ودفع الخادم.

جاهز لغير المتزامن

sendAsync() يُرجع CompletableFuture.

الأسلوب القديم
HttpURLConnection
الأسلوب الحديث
HttpClient
منذ JDK
11
الصعوبة
مبتدئ
عميل HTTP حديث
متاح

متاح على نطاق واسع منذ JDK 11 (سبتمبر 2018)

يدعم HttpClient بروتوكولَي HTTP/1.1 و HTTP/2 والطلبات غير المتزامنة وWebSocket والمنفّذات المخصصة وتجميع الاتصالات. لا مزيد من تحويل URLConnection أو قراءة InputStreams يدوياً.

مشاركة 𝕏 🦋 in