O substituto de HttpConfigurable está repartido entre varias API. Un complemento que inspecciona a configuración do proxy HTTP necesita unha operación distinta dun complemento que envía unha solicitude a través dela.

Uso existenteAPI de migración
Ler a configuración de proxy seleccionadaProxySettings.getInstance().getProxyConfiguration()
Obter credenciais coñecidas ou preguntar ao usuarioProxyAuthentication
Obter credenciais para o punto de conexión estático configuradogetStaticProxyCredentials, unha extensión de Kotlin exposta a Java mediante ProxyUtils
Abrir un URL coa selección de proxy da plataformaHttpConnectionUtils.openConnection(location) ou openHttpConnection(location)

Para a API de migración que representan as fontes de IntelliJ Platform de 2024, estes tipos de rede atópanse en com.intellij.util.net. Por exemplo, Kotlin pode inspeccionar a configuración e buscar credenciais coñecidas de proxy estático sen preguntar:

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

O axudante require un ProxyCredentialProvider; a referencia de método adapta o servizo de autenticación a esa interface. As credenciais búscanse polo host e o porto do proxy configurado. Un resultado nulo pode significar que a configuración non é estática, así que non demostra que un proxy seleccionado por PAC non necesite autenticación.

Cando a tarefa real é facer unha solicitude HTTP, use o axudante de conexión da plataforma en lugar de reconstruír o encamiñamento a partir dos campos de host e porto. Consulta o selector de proxy da plataforma para o URL de destino. Converter unha configuración estática con asJavaProxy() non respecta a súa lista de excepcións nin implementa a selección PAC.

Se se require autenticación interactiva, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) é unha operación separada que pode bloquear. Manteña esa distinción ao migrar código e comprobe a dispoñibilidade da API fronte ao Platform SDK mínimo compatible do complemento.

Artigos relacionados