Wêrom't Java in SOCKS-proxy keas foar jo HTTP-fersyk
Undersykje it ProxySelector-resultaat en de effektive JVM-ynstellingen foardat jo âlde Windows-proxy-oplossingen tapasse.
In Java-fersyk kin ferskate proxy-ynfierren tsjinkomme: eksplisite klantkonfiguraasje, de standertselektor, JVM-netwurk-eigenskippen en stipe bestjoerssysteem-ynstellingen. As in logboek ûnferwachts SOCKS neamt, stel dan fêst hokker ynfier it keas.
Foar koade dy't de standertselektor brûkt, ûndersykje it beslút foar de krekte bestimming:
URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
System.out.println(selector.select(target));
}
Dit rapportearret de kandidaten fan 'e selektor. It bewiist net hokker ferbining úteinlik slagge, en in klant mei syn eigen eksplisite rûte kin in oar beslút nimme.
Kontrolearje de effektive ynstellingen
Besjoch http.proxyHost, https.proxyHost, socksProxyHost, harren poarten en java.net.useSystemProxies. De JDK-dokumintaasje oer netwurk-eigenskippen beskriuwt har omfang en foarrang. Systeemproxy-ûntdekking wurdt by it opstarten kontrolearre; stel it bewust yn by it starten fan 'e JVM.
Histoaryske antwurden beskriuwe spesifike kombinaasjes fan âlde Windows-dialogen en âlde JDK's. Dy rapporten kinne de oarsprong fan in oplossing ferklearje, mar se bewize net dat in hjoeddeistige runtime deselde bug hat. Registrearje de runtime-ferzje en de útfier fan 'e selektor foardat jo bestjoerssysteem-ynstellingen foar elke applikaasje feroarje.
As de applikaasje in HTTP-proxy nedich hat foar ien klant, kin in eksplisite proxy-konfiguraasje dy eask dúdliker meitsje. As it sintrale automatyske rûteleasing nedich hat, ûndersykje wêrom't de selektor de ûnferwachte SOCKS-yngong krige of weromjoech.
In oanpaste selektor moat bewuste oerslaggen en flaterôfhanneling behâlde. Alle SOCKS-kandidaten sûnder ûnderskied filterje kin ferbiningen brekke dy't ien brûke moasten. Reparearje de ferkearde regel mei it lytste omfang dat jo fine kinne.