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-іне қарсы тексеріңіз.

Қатысты мақалалар