Náhrada za HttpConfigurable je rozložena do několika API. Plugin, který zkoumá nastavení HTTP proxy, potřebuje jinou operaci než plugin, který přes ně odesílá požadavek.

Stávající použitíMigrační API
Čtení vybrané konfigurace proxyProxySettings.getInstance().getProxyConfiguration()
Získání známých přihlašovacích údajů nebo dotaz na uživateleProxyAuthentication
Získání přihlašovacích údajů pro nakonfigurovaný statický koncový bodgetStaticProxyCredentials, rozšíření Kotlin zpřístupněné Javě přes ProxyUtils
Otevření URL pomocí volby proxy na platforměHttpConnectionUtils.openConnection(location) nebo openHttpConnection(location)

Pro migrační API, které představují zdroje IntelliJ Platform z roku 2024, se tyto síťové typy nacházejí v com.intellij.util.net. Kotlin může například prozkoumat konfiguraci a vyhledat známé údaje statické proxy bez výzvy:

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

Pomocník vyžaduje ProxyCredentialProvider; odkaz na metodu přizpůsobuje službu ověřování tomuto rozhraní. Přihlašovací údaje se hledají podle hostitele a portu nakonfigurované proxy. Výsledek null může znamenat, že konfigurace není statická, takže nedokazuje, že proxy vybraná přes PAC nevyžaduje ověření.

Když je skutečným úkolem odeslat HTTP požadavek, použijte pomocníka pro připojení platformy místo opětovného sestavování směrování z polí hostitele a portu. Dotazuje se selektoru proxy platformy pro cílovou URL. Převod statické konfigurace pomocí asJavaProxy() nerespektuje její seznam výjimek a neimplementuje výběr PAC.

Pokud je vyžadováno interaktivní ověření, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) je samostatná, potenciálně blokující operace. Při migraci kódu tento rozdíl zachovejte a dostupnost API ověřte vůči minimální podporované Platform SDK pluginu.

Související články