Staðgengillinn fyrir HttpConfigurable er dreifður yfir nokkrum API-um. Viðbót sem skoðar stillingar HTTP-proxy þarf aðra aðgerð en viðbót sem sendir beiðni í gegnum þær.

Núverandi notkunFlutnings-API
Lesa valda proxy-stillinguProxySettings.getInstance().getProxyConfiguration()
Sækja þekkt skírteini eða spyrja notandannProxyAuthentication
Fá skírteini fyrir stillta kyrrstæða endapunktinngetStaticProxyCredentials, Kotlin-viðbót sem er opin Java í gegnum ProxyUtils
Opna slóð með proxy-vali kerfisinsHttpConnectionUtils.openConnection(location) eða openHttpConnection(location)

Fyrir flutnings-API-ið sem heimildir IntelliJ Platform frá 2024 standa fyrir, eru þessar nettegundir í com.intellij.util.net. Til dæmis getur Kotlin skoðað stillingarnar og flett upp þekktum skírteinum kyrrstæðs proxy án þess að biðja um þau:

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

Hjálparinn krefst ProxyCredentialProvider; aðferðarvísunin aðlagar auðkenningarþjónustuna að því viðmóti. Skírteini eru flett upp eftir hýsli og porti hins stillta proxys. null niðurstaða getur þýtt að stillingin sé ekki kyrrstæð, svo hún sannar ekki að proxy sem valið er með PAC þurfi enga auðkenningu.

Þegar raunverulega verkefnið er að senda HTTP-beiðni, notaðu tengihjálpara kerfisins í stað þess að endurbyggja leiðsögn úr hýsli- og portreitum. Hann spyr proxy-valjara kerfisins fyrir áfangaslóðina. Að umbreyta kyrrstæðri stillingu með asJavaProxy() virðir ekki undantekningalistann og útfærir ekki PAC-val.

Ef gagnvirk auðkenning er nauðsynleg er ProxyAuthentication.getPromptedAuthentication(prompt, host, port) sérstök aðgerð sem getur blokkað. Haltu þeim mun þegar þú flytur kóða og athugaðu aðgengi API gagnvart lágmarksstuddu Platform SDK viðbótarinnar.

Tengdir greinar