Rírópò HttpConfigurable nínú plugin IntelliJ
Ka ìṣètò proxy, gba ẹ̀rí ìdánimọ̀ orí-ìparí, kí o sì ṣí àwọn ìsopọ̀ tí ó bá pẹpẹ mu pẹ̀lú àwọn API proxy IntelliJ.
Àrópò HttpConfigurable pín sí oríṣiríṣi API. Plugin tí ó ń yẹ àwọn ètò proxy HTTP wò nílò ìṣe tí ó yàtọ̀ sí plugin tí ó ń fi ìbéèrè ránṣẹ́ nípasẹ̀ wọn.
| Ìlò lọ́wọ́lọ́wọ́ | API ìṣípòpadà |
|---|---|
| Ka ìṣètò proxy tí a yàn | ProxySettings.getInstance().getProxyConfiguration() |
| Gba ẹ̀rí ìdánimọ̀ tí a mọ̀ tàbí béèrè lọ́wọ́ olùṣàmúlò | ProxyAuthentication |
| Gba ẹ̀rí ìdánimọ̀ fún orí-ìparí dúró ṣinṣin tí a ti ṣètò | getStaticProxyCredentials, àfikún Kotlin tí a ṣí sí Java nípasẹ̀ ProxyUtils |
| Ṣí URL pẹ̀lú yíyàn proxy ti pẹpẹ | HttpConnectionUtils.openConnection(location) tàbí openHttpConnection(location) |
Fún API ìṣípòpadà tí àwọn orísun IntelliJ Platform ti 2024 dúró fún, àwọn irú nẹ́tíwọ́kì wọ̀nyí wà nínú com.intellij.util.net. Fún àpẹẹrẹ, Kotlin lè yẹ ìṣètò wò kí ó sì wá ẹ̀rí ìdánimọ̀ proxy dúró ṣinṣin tí a mọ̀ láìbéèrè:
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
)
)
Olùrànlọ́wọ́ nílò ProxyCredentialProvider; ìtọ́kasí ọ̀nà ń mú iṣẹ́ ìjẹ́rìí bá ìfaradà yẹn mu. A ń wá ẹ̀rí ìdánimọ̀ nípa host àti port ti proxy tí a ti ṣètò. Èsì null lè túmọ̀ sí pé ìṣètò kì í ṣe dúró ṣinṣin, nítorí náà kò fi hàn pé proxy tí a yàn nípasẹ̀ PAC kò nílò ìjẹ́rìí.
Nígbà tí iṣẹ́ gidi jẹ́ ṣíṣe ìbéèrè HTTP, lo olùrànlọ́wọ́ ìsopọ̀ pẹpẹ dípò títún ọ̀nà ìrìnàjò kọ́ láti àwọn pápá host àti port. Ó ń gbèrò pẹ̀lú yíyan proxy pẹpẹ fún URL àfojúsùn. Yíyí ìṣètò dúró ṣinṣin padà pẹ̀lú asJavaProxy() kò bọ̀wọ̀ fún àkọsílẹ̀ ìyọkúrò rẹ̀, kò sì ṣe ìmúṣẹ yíyàn PAC.
Tí ìjẹ́rìí ìbáraẹnisọ̀rọ̀ bá nílò, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) jẹ́ ìṣe ọ̀tọ̀ tí ó lè dí. Pa ìyàtọ̀ yẹn mọ́ nígbà tí o ń ṣípòpadà kóòdù, kí o sì yẹ wíwà API wò ní ìfiwéra pẹ̀lú Platform SDK tí ó kéré jùlọ tí plugin ń ṣe àtìlẹ́yìn fún.