Nadomestek za HttpConfigurable je razdeljen med več API-jev. Vtičnik, ki pregleduje nastavitve HTTP-posrednika, potrebuje drugačno operacijo kot vtičnik, ki prek njih pošilja zahtevo.

Dosedanja uporabaAPI za migracijo
Branje izbrane konfiguracije posrednikaProxySettings.getInstance().getProxyConfiguration()
Pridobivanje znanih poverilnic ali vprašanje uporabnikaProxyAuthentication
Pridobivanje poverilnic za nastavljeno statično končno točkogetStaticProxyCredentials, razširitev Kotlin, dostopna Javi prek ProxyUtils
Odpiranje URL z izbiro posrednika platformeHttpConnectionUtils.openConnection(location) ali openHttpConnection(location)

Za API za migracijo, ki ga predstavljajo viri IntelliJ Platform iz leta 2024, so ti omrežni tipi v com.intellij.util.net. Kotlin lahko na primer pregleda konfiguracijo in poišče znane poverilnice statičnega posrednika brez poziva:

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

Pomočnik zahteva ProxyCredentialProvider; sklic na metodo prilagodi storitev preverjanja pristnosti temu vmesniku. Poverilnice se iščejo po gostitelju in vratih nastavljenega posrednika. Rezultat null lahko pomeni, da konfiguracija ni statična, zato ne dokazuje, da posrednik, izbran prek PAC, ne potrebuje preverjanja pristnosti.

Ko je dejanska naloga izdelati zahtevo HTTP, uporabite pomočnika za povezavo platforme, namesto da bi usmerjanje znova zgradili iz polj gostitelja in vrat. Ta se posvetuje z izbirnikom posrednika platforme za ciljni URL. Pretvarjanje statične konfiguracije z asJavaProxy() ne upošteva njenega seznama izjem in ne izvaja izbire PAC.

Če je potrebno interaktivno preverjanje pristnosti, je ProxyAuthentication.getPromptedAuthentication(prompt, host, port) ločena operacija, ki lahko blokira. To razliko ohranite pri migraciji kode in preverite razpoložljivost API-ja glede na najnižjo podprto Platform SDK vtičnika.

Sorodni članki