Die plaasvervanger vir HttpConfigurable is oor verskeie API's versprei. 'n Inprop wat die HTTP-proxy-instellings ondersoek, benodig 'n ander bewerking as 'n inprop wat 'n versoek daardeur stuur.

Bestaande gebruikMigrasie-API
Lees die gekose proxy-konfigurasieProxySettings.getInstance().getProxyConfiguration()
Verkry bekende aanmeldings of vra die gebruikerProxyAuthentication
Verkry aanmeldings vir die gekonfigureerde statiese eindpuntgetStaticProxyCredentials, 'n Kotlin-uitbreiding wat deur ProxyUtils aan Java blootgestel word
Open 'n URL met die platform se proxy-keuseHttpConnectionUtils.openConnection(location) of openHttpConnection(location)

Vir die migrasie-API wat deur die 2024-bronne van die IntelliJ Platform voorgestel word, woon hierdie netwerktypes in com.intellij.util.net. Kotlin kan byvoorbeeld die konfigurasie ondersoek en bekende statiese proxy-aanmeldings naslaan sonder om 'n versoek te rig:

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

Die hulpmiddel vereis 'n ProxyCredentialProvider; die metodeverwysing pas die verifikasiediens by daardie koppelvlak aan. Aanmeldings word volgens die gekonfigureerde proxy se gasheer en poort nageslaan. 'n Nul-uitslag kan beteken dat die konfigurasie nie staties is nie, so dit bewys nie dat 'n PAC-gekeuse proxy geen verifikasie nodig het nie.

Wanneer die werklike taak is om 'n HTTP-versoek te maak, gebruik die platform se verbindingshulpmiddel eerder as om die roetering uit gasheer- en poortvelde te herbou. Dit raadpleeg die platform se proxy-keiser vir die bestemming-URL. Om 'n statiese konfigurasie met asJavaProxy() om te skakel, eerbiedig nie sy uitsonderingslys nie en implementeer nie PAC-keuse nie.

As interaktiewe verifikasie vereis word, is ProxyAuthentication.getPromptedAuthentication(prompt, host, port) 'n aparte bewerking wat moontlik blokkeer. Behou daardie onderskeid wanneer jy kode migreer, en kontroleer API-beskikbaarheid teen die inprop se minimum ondersteunde Platform SDK.

Verwante artikels