Að skipta út HttpConfigurable í IntelliJ-viðbót
Lestu proxy-stillingar, fáðu skírteini endapunkts og opnaðu tengingar sem taka tillit til kerfisins með proxy-API-um IntelliJ.
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 notkun | Flutnings-API |
|---|---|
| Lesa valda proxy-stillingu | ProxySettings.getInstance().getProxyConfiguration() |
| Sækja þekkt skírteini eða spyrja notandann | ProxyAuthentication |
| Fá skírteini fyrir stillta kyrrstæða endapunktinn | getStaticProxyCredentials, Kotlin-viðbót sem er opin Java í gegnum ProxyUtils |
| Opna slóð með proxy-vali kerfisins | HttpConnectionUtils.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.