Заменикот на HttpConfigurable е распределен низ неколку API-ја. Додаток што ги прегледува поставките за HTTP прокси бара поинаква операција од додаток што испраќа барање преку нив.

Тековна употребаAPI за миграција
Читање на избраната конфигурација на проксиProxySettings.getInstance().getProxyConfiguration()
Преземање на познати акредитиви или прашување на корисникотProxyAuthentication
Добивање акредитиви за конфигурираната статична крајна точкаgetStaticProxyCredentials, Kotlin проширување достапно за Java преку ProxyUtils
Отворање URL со изборот на прокси на платформатаHttpConnectionUtils.openConnection(location) или openHttpConnection(location)

За API-то за миграција што го претставуваат изворите на 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; референцата на методот го прилагодува сервисот за автентикација на тој интерфејс. Акредитивите се бараат според домаќинот и портата на конфигурираното прокси. null резултат може да значи дека конфигурацијата не е статична, па затоа не докажува дека прокси избрано преку PAC не бара автентикација.

Кога вистинската задача е испраќање HTTP барање, користете го помошникот за врска на платформата наместо повторно да го градите рутирањето од полињата за домаќин и порта. Тој го прашува избирачот на прокси на платформата за целниот URL. Претворањето на статична конфигурација со asJavaProxy() не ја почитува нејзината листа на исклучоци и не имплементира избор преку PAC.

Ако е потребна интерактивна автентикација, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) е одделна, потенцијално блокирачка операција. Задржете ја таа разлика при миграција на код и проверете ја достапноста на API-то во однос на минималниот поддржан Platform SDK на додатокот.

Поврзани статии