HttpConfigurable-ыг орлох шийдэл хэд хэдэн API-д хуваагдсан. HTTP прокси тохиргоог шалгадаг залгаас нь түүгээр хүсэлт илгээдэг залгаасаас өөр үйлдэл шаарддаг.

Одоогийн хэрэглээШилжүүлэх API
Сонгосон прокси тохиргоог уншихProxySettings.getInstance().getProxyConfiguration()
Мэдэгдэж буй итгэмжлэлийг авах эсвэл хэрэглэгчээс асуухProxyAuthentication
Тохируулсан статик төгсгөлийн цэгийн итгэмжлэлийг авахgetStaticProxyCredentials, ProxyUtils-ээр Java-д нээгдсэн Kotlin өргөтгөл
Платформын прокси сонголтоор 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-тай харьцуулан шалгана уу.

Холбоотой нийтлэлүүд