Kubadilisha HttpConfigurable katika programu jalizi ya IntelliJ
Soma usanidi wa proksi, pata stakabadhi za mwisho, na fungua miunganisho inayofaa jukwaa kwa API za proksi za IntelliJ.
Mbadala wa HttpConfigurable umegawanyika katika API kadhaa. Programu jalizi inayokagua mipangilio ya proksi ya HTTP inahitaji operesheni tofauti na programu jalizi inayotuma ombi kupitia hizo.
| Matumizi ya sasa | API ya uhamishaji |
|---|---|
| Kusoma usanidi wa proksi uliochaguliwa | ProxySettings.getInstance().getProxyConfiguration() |
| Kupata stakabadhi zinazojulikana au kumuuliza mtumiaji | ProxyAuthentication |
| Kupata stakabadhi za mwisho tuli uliosanidiwa | getStaticProxyCredentials, kiendelezi cha Kotlin kinachofichuliwa kwa Java kupitia ProxyUtils |
| Kufungua URL kwa uteuzi wa proksi wa jukwaa | HttpConnectionUtils.openConnection(location) au openHttpConnection(location) |
Kwa API ya uhamishaji inayowakilishwa na vyanzo vya IntelliJ Platform vya 2024, aina hizi za mtandao ziko katika com.intellij.util.net. Kwa mfano, Kotlin inaweza kukagua usanidi na kutafuta stakabadhi zinazojulikana za proksi tuli bila kuuliza:
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
)
)
Kisaidizi kinahitaji ProxyCredentialProvider; rejeleo la mbinu hurekebisha huduma ya uthibitishaji kwa kiolesura hicho. Stakabadhi hutafutwa kwa mwenyeji na bandari ya proksi iliyosanidiwa. Matokeo ya null yanaweza kumaanisha kuwa usanidi si tuli, kwa hivyo haithibitishi kuwa proksi iliyochaguliwa kwa PAC haihitaji uthibitishaji.
Wakati kazi halisi ni kufanya ombi la HTTP, tumia kisaidizi cha muunganisho cha jukwaa badala ya kujenga upya uelekezaji kutoka sehemu za mwenyeji na bandari. Hushauriana na kichaguzi cha proksi cha jukwaa kwa URL lengwa. Kubadilisha usanidi tuli kwa asJavaProxy() hakuheshimu orodha yake ya misamaha na hakutekelezi uteuzi wa PAC.
Ikiwa uthibitishaji wa mwingiliano unahitajika, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) ni operesheni tofauti inayoweza kuzuia. Hifadhi tofauti hiyo unapohamisha msimbo, na angalia upatikanaji wa API dhidi ya Platform SDK ya chini inayotumika ya programu jalizi.