HttpURLConnection.usingProxy() قبل الاتصال وبعده
افهم usingProxy كحالة معالج، بما في ذلك سلوك الوكيل الصريح في OpenJDK 25 قبل إنشاء الاتصال.
يكشف HttpURLConnection عن usingProxy، لكن النتيجة تحتاج إلى تنفيذ الاتصال وحالته إلى جانبها. وهو ليس طلب اختبار.
في معالج HTTP في OpenJDK 25، يمكن لوكيل HTTP المهيأ صراحةً أن يجعل الدالة تعيد true قبل فتح اتصال الشبكة:
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var url = URI.create("http://example.com/").toURL();
var connection = (HttpURLConnection) url.openConnection(proxy);
boolean proxyFlag = connection.usingProxy();يمكن لمرشح HTTP من قائمة وكلاء HTTP أن يملأ المضيف والمنفذ لطلب عام مسموح دون مصادقة وكيل. تنشئ openConnection الكائن. وهي لا تنشئ اتصال HTTP بمجرد إرجاع ذلك الكائن. لذا لا تثبت العلامة في حالة الوكيل الصريح هذه أن الوسيط يمكن الوصول إليه أو يقبل الطلب.
مع الاختيار التلقائي، قد يحدث اختيار المسار لاحقًا أثناء اتصال المعالج. لا ينبغي اعتبار نتيجة false المبكرة قرار المسار النهائي. بعد الاتصال، فسّر الحالة مع أي استثناء أو استجابة، خصوصًا عند وجود مصادقة أو تراجع.
تنتمي الدالة العامة إلى HttpURLConnection، بينما السلوك أعلاه خاص بمعالج OpenJDK المذكور. ولا يلزم أن يعرض موفر آخر أو تنفيذ JDK آخر تفاصيل ما قبل الاتصال نفسها.
سجّل كيف اختير الوكيل ومتى قُرئت العلامة. لإثبات عنوان المصدر الذي يراه الهدف، احتفظ بأدلة من جهة الهدف؛ فعلامة الوكيل المنطقية لا تحتوي على حقل لعنوان الخروج ذلك.