HttpConfigurable aizstāšana IntelliJ spraudnī
Lasiet starpniekservera konfigurāciju, iegūstiet galapunkta akreditācijas datus un atveriet platformai atbilstošus savienojumus ar IntelliJ starpniekservera API.
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šana | Migrācijas API |
|---|---|
| Lasīt izvēlēto starpniekservera konfigurāciju | ProxySettings.getInstance().getProxyConfiguration() |
| Iegūt zināmos akreditācijas datus vai pajautāt lietotājam | ProxyAuthentication |
| Iegūt akreditācijas datus konfigurētajam statiskajam galapunktam | getStaticProxyCredentials, Kotlin paplašinājums, kas pieejams Java, izmantojot ProxyUtils |
| Atvērt URL, izmantojot platformas starpniekservera izvēli | HttpConnectionUtils.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.