HttpConfigurable کا متبادل کئی APIs میں پھیلا ہوا ہے۔ HTTP پراکسی کی ترتیبات کا جائزہ لینے والے پلگ اِن کو اُس پلگ اِن سے مختلف عمل درکار ہے جو اُن کے ذریعے درخواست بھیجتا ہے۔

موجودہ استعمالمنتقلی API
منتخب پراکسی کنفیگریشن پڑھناProxySettings.getInstance().getProxyConfiguration()
معلوم اسناد حاصل کرنا یا صارف سے پوچھناProxyAuthentication
ترتیب شدہ اسٹیٹک اینڈ پوائنٹ کے لیے اسناد حاصل کرناgetStaticProxyCredentials، ایک Kotlin ایکسٹینشن جو ProxyUtils کے ذریعے Java کے لیے کھلا ہے
پلیٹ فارم کے پراکسی انتخاب کے ساتھ URL کھولناHttpConnectionUtils.openConnection(location) یا openHttpConnection(location)

2024 IntelliJ Platform ذرائع کی نمائندگی کرنے والی منتقلی API کے لیے، یہ نیٹ ورک اقسام 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 درکار ہے؛ میتھڈ حوالہ توثیق سروس کو اُس انٹرفیس کے مطابق ڈھالتا ہے۔ اسناد ترتیب شدہ پراکسی کے ہوسٹ اور پورٹ کے مطابق تلاش کی جاتی ہیں۔ null نتیجہ یہ ظاہر کر سکتا ہے کہ کنفیگریشن اسٹیٹک نہیں، اس لیے یہ ثابت نہیں کرتا کہ PAC کے ذریعے منتخب پراکسی کو توثیق درکار نہیں۔

جب اصل کام HTTP درخواست کرنا ہو، تو ہوسٹ اور پورٹ فیلڈز سے روٹنگ دوبارہ بنانے کے بجائے پلیٹ فارم کنکشن مددگار استعمال کریں۔ یہ منزل URL کے لیے پلیٹ فارم کے پراکسی منتخب کنندہ سے مشورہ کرتا ہے۔ asJavaProxy() کے ساتھ اسٹیٹک کنفیگریشن تبدیل کرنے سے اُس کی استثنا فہرست کا احترام نہیں ہوتا اور PAC انتخاب نافذ نہیں ہوتا۔

اگر انٹرایکٹو توثیق درکار ہو، تو ProxyAuthentication.getPromptedAuthentication(prompt, host, port) ایک الگ، ممکنہ طور پر رکاوٹ ڈالنے والا عمل ہے۔ کوڈ منتقل کرتے وقت یہ فرق برقرار رکھیں، اور API کی دستیابی کو پلگ اِن کے کم سے کم معاون Platform SDK کے مقابلے میں جانچیں۔

متعلقہ مضامین