El substitut de HttpConfigurable està repartit entre diverses API. Un connector que inspecciona la configuració del proxy HTTP necessita una operació diferent d'un connector que hi envia una petició.

Ús existentAPI de migració
Llegir la configuració de proxy seleccionadaProxySettings.getInstance().getProxyConfiguration()
Obtenir credencials conegudes o preguntar a l'usuariProxyAuthentication
Obtenir credencials per al punt final estàtic configuratgetStaticProxyCredentials, una extensió de Kotlin exposada a Java mitjançant ProxyUtils
Obrir una URL amb la selecció de proxy de la plataformaHttpConnectionUtils.openConnection(location) o openHttpConnection(location)

Per a l'API de migració que representen les fonts d'IntelliJ Platform del 2024, aquests tipus de xarxa es troben a com.intellij.util.net. Per exemple, Kotlin pot inspeccionar la configuració i buscar credencials conegudes de proxy estàtic sense demanar res:

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

L'auxiliar requereix un ProxyCredentialProvider; la referència al mètode adapta el servei d'autenticació a aquesta interfície. Les credencials es busquen pel host i el port del proxy configurat. Un resultat nul pot significar que la configuració no és estàtica, així que no demostra que un proxy seleccionat per PAC no necessiti autenticació.

Quan la tasca real és fer una petició HTTP, feu servir l'auxiliar de connexió de la plataforma en lloc de reconstruir l'encaminament a partir dels camps d'amfitrió i port. Consulta el selector de proxy de la plataforma per a l'URL de destinació. Convertir una configuració estàtica amb asJavaProxy() no respecta la seva llista d'excepcions ni implementa la selecció PAC.

Si cal autenticació interactiva, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) és una operació separada que pot bloquejar. Manteniu aquesta distinció en migrar codi i comproveu la disponibilitat de l'API respecte al Platform SDK mínim compatible del connector.

Articles relacionats