La anstataŭaĵo por HttpConfigurable estas disigita tra pluraj API-oj. Kromaĵo, kiu inspektas la agordojn de HTTP-prokurilo, bezonas alian operacion ol kromaĵo, kiu sendas peton tra ili.

Nuna uzoMigrada API
Legi la elektitan prokuran agordonProxySettings.getInstance().getProxyConfiguration()
Akiri konatajn legitimilojn aŭ demandi la uzantonProxyAuthentication
Akiri legitimilojn por la agordita statika finpunktogetStaticProxyCredentials, Kotlin-etendaĵo montrita al Java per ProxyUtils
Malfermi URL per la prokura elekto de la platformoHttpConnectionUtils.openConnection(location) aŭ openHttpConnection(location)

Por la migrada API reprezentata de la 2024-fonto de IntelliJ Platform, tiuj retaj tipoj troviĝas en com.intellij.util.net. Ekzemple, Kotlin povas inspekti la agordon kaj serĉi konatajn legitimilojn de statika prokurilo sen prompto:

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

La helpilo postulas ProxyCredentialProvider; la metoda referenco adaptas la aŭtentigan servon al tiu interfaco. Legitimiloj estas serĉataj laŭ la gastiganto kaj pordo de la agordita prokurilo. Nula rezulto povas signifi, ke la agordo ne estas statika, do ĝi ne pruvas, ke prokurilo elektita per PAC bezonas neniun aŭtentigon.

Kiam la reala tasko estas fari HTTP-peton, uzu la konekto-helpilon de la platformo anstataŭ rekonstrui la enkursigon el la kampoj de gastiganto kaj pordo. Ĝi konsultas la prokuran selektilon de la platformo por la cela URL. Konverti statikan agordon per asJavaProxy() ne respektas ĝian esceptoliston kaj ne realigas PAC-elekton.

Se interaga aŭtentigo necesas, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) estas aparta, eble blokanta operacio. Konservu tiun distingon dum migrado de kodo, kaj kontrolu API-disponeblecon rilate al la minimuma subtenata Platform SDK de la kromaĵo.

Rilataj artikoloj