HttpConfigurable aizstājējs ir sadalīts vairākos API. Spraudnim, kas pārbauda HTTP starpniekservera iestatījumus, nepieciešama cita darbība nekā spraudnim, kas caur tiem sūta pieprasījumu.

Pašreizējā lietošanaMigrācijas API
Lasīt izvēlēto starpniekservera konfigurācijuProxySettings.getInstance().getProxyConfiguration()
Iegūt zināmos akreditācijas datus vai pajautāt lietotājamProxyAuthentication
Iegūt akreditācijas datus konfigurētajam statiskajam galapunktamgetStaticProxyCredentials, Kotlin paplašinājums, kas pieejams Java, izmantojot ProxyUtils
Atvērt URL, izmantojot platformas starpniekservera izvēliHttpConnectionUtils.openConnection(location) vai openHttpConnection(location)

Migrācijas API, ko pārstāv 2024. gada IntelliJ Platform avoti, šie tīkla tipi atrodas com.intellij.util.net. Piemēram, Kotlin var pārbaudīt konfigurāciju un meklēt zināmos statiskā starpniekservera akreditācijas datus bez vaicājuma:

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

Palīgam ir nepieciešams ProxyCredentialProvider; metodes atsauce pielāgo autentifikācijas pakalpojumu šim interfeisam. Akreditācijas dati tiek meklēti pēc konfigurētā starpniekservera resursdatora un porta. null rezultāts var nozīmēt, ka konfigurācija nav statiska, tāpēc tas nepierāda, ka starpniekserverim, kas izvēlēts ar PAC, nav nepieciešama autentifikācija.

Ja faktiskais uzdevums ir veikt HTTP pieprasījumu, izmantojiet platformas savienojuma palīgu, nevis atjaunojiet maršrutēšanu no resursdatora un porta laukiem. Tas konsultējas ar platformas starpniekservera atlasītāju par mērķa URL. Statiskas konfigurācijas pārveidošana ar asJavaProxy() neievēro tās izņēmumu sarakstu un neievieš PAC izvēli.

Ja nepieciešama interaktīva autentifikācija, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) ir atsevišķa, potenciāli bloķējoša darbība. Saglabājiet šo atšķirību, migrējot kodu, un pārbaudiet API pieejamību pret spraudņa minimālo atbalstīto Platform SDK.

Saistītie raksti