بديل HttpConfigurable موزّع على عدة واجهات برمجية. الإضافة التي تفحص إعدادات وكيل HTTP تحتاج إلى عملية مختلفة عن الإضافة التي ترسل طلبًا عبرها.

الاستخدام الحاليواجهة الترحيل
قراءة إعدادات الوكيل المحددةProxySettings.getInstance().getProxyConfiguration()
استرداد بيانات الاعتماد المعروفة أو سؤال المستخدمProxyAuthentication
الحصول على بيانات الاعتماد لنقطة النهاية الثابتة المهيأةgetStaticProxyCredentials، امتداد Kotlin متاح لجافا عبر ProxyUtils
فتح عنوان URL باستخدام اختيار الوكيل في النظام الأساسيHttpConnectionUtils.openConnection(location) أو openHttpConnection(location)

بالنسبة لواجهة الترحيل التي تمثلها مصادر IntelliJ Platform لعام 2024، توجد أنواع الشبكة هذه في com.intellij.util.net. على سبيل المثال، يمكن لـ Kotlin فحص الإعدادات والبحث عن بيانات اعتماد الوكيل الثابت المعروفة دون طلب إدخال:

import com.intellij.util.net.ProxyAuthentication
import com.intellij.util.net.ProxyCredentialProvider
import com.intellij.util.net.ProxySettings
import com.intellij.util.net.getStaticProxyCredentials

val settings = ProxySettings.getInstance()
val configuration = settings.getProxyConfiguration()
val credentials = settings.getStaticProxyCredentials(
    ProxyCredentialProvider(
        ProxyAuthentication.getInstance()::getKnownAuthentication
    )
)

تحتاج الأداة المساعدة إلى ProxyCredentialProvider؛ ويُكيّف مرجع الدالة خدمة المصادقة مع تلك الواجهة. تُبحث بيانات الاعتماد حسب مضيف الوكيل المهيأ ومنفذه. قد تعني النتيجة الفارغة أن الإعدادات ليست ثابتة، لذا فهي لا تثبت أن وكيلًا مختارًا عبر PAC لا يحتاج إلى مصادقة.

عندما تكون المهمة الفعلية إرسال طلب HTTP، استخدم أداة الاتصال في النظام الأساسي بدلًا من إعادة بناء التوجيه من حقلي المضيف والمنفذ. فهي تستشير محدّد الوكيل في النظام الأساسي لعنوان URL الوجهة. تحويل إعدادات ثابتة باستخدام asJavaProxy() لا يحترم قائمة الاستثناءات الخاصة بها ولا ينفّذ اختيار PAC.

إذا لزمت مصادقة تفاعلية، فإن ProxyAuthentication.getPromptedAuthentication(prompt, host, port) عملية منفصلة قد تحجب التنفيذ. احتفظ بهذا التمييز عند ترحيل الشيفرة، وتحقق من توافر الواجهة مقابل الحد الأدنى من Platform SDK الذي تدعمه الإضافة.

مقالات ذات صلة