Ersättningen för HttpConfigurable är utspridd över flera API:er. Ett plugin som granskar inställningarna för HTTP-proxy behöver en annan åtgärd än ett plugin som skickar en begäran genom dem.

Befintlig användningMigrerings-API
Läsa den valda proxykonfigurationenProxySettings.getInstance().getProxyConfiguration()
Hämta kända autentiseringsuppgifter eller fråga användarenProxyAuthentication
Hämta autentiseringsuppgifter för den konfigurerade statiska slutpunktengetStaticProxyCredentials, ett Kotlin-tillägg som exponeras för Java via ProxyUtils
Öppna en URL med plattformens proxyvalHttpConnectionUtils.openConnection(location) eller openHttpConnection(location)

För det migrerings-API som IntelliJ Platform-källorna från 2024 representerar ligger dessa nätverkstyper i com.intellij.util.net. Kotlin kan till exempel granska konfigurationen och slå upp kända autentiseringsuppgifter för statisk proxy utan att fråga:

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
    )
)

Hjälparen kräver en ProxyCredentialProvider; metodreferensen anpassar autentiseringstjänsten till det gränssnittet. Autentiseringsuppgifterna slås upp efter den konfigurerade proxyns värd och port. Ett null-resultat kan betyda att konfigurationen inte är statisk, så det bevisar inte att en PAC-vald proxy inte behöver autentisering.

När den faktiska uppgiften är att göra en HTTP-begäran ska du använda plattformens anslutningshjälpare i stället för att bygga upp routingen igen från värd- och portfälten. Den rådfrågar plattformens proxyväljare för mål-URL:en. Att konvertera en statisk konfiguration med asJavaProxy() respekterar inte dess undantagslista och implementerar inte PAC-val.

Om interaktiv autentisering krävs är ProxyAuthentication.getPromptedAuthentication(prompt, host, port) en separat, potentiellt blockerande åtgärd. Behåll den skillnaden när du migrerar kod och kontrollera API-tillgängligheten mot pluginets lägsta supportede Platform SDK.

Relaterade artiklar