JDK 25 HttpClient ne uzas SOCKS-itinerojn de ProxySelector
Elektu Java HTTP-transporton, kiu vere subtenas SOCKS, anstataŭ fidi nur la tipon, kiun redonas ProxySelector.
Java-proksa objekto priskribas itineron. La reta kliento ankoraŭ decidas, kiajn specojn de itinero ĝi povas uzi. Tio gravas, kiam la disponebla finpunkto parolas SOCKS kaj la aplikaĵo uzas java.net.http.HttpClient.
En la ĉi tie ekzamenata JDK 25-implementaĵo, la petkodo de la HTTP-kliento akceptas HTTP-kandidaton de la selektilo. SOCKS-kandidato ne igas ĝin fari SOCKS-intertraktadon; la implementaĵo povas daŭrigi sen prokso. Sukcesa respondo do ne sufiĉe pruvas, ke la SOCKS-enskribo de propra selektilo estis uzata.
Unue elektu la transporton
Por ekzistanta aplikaĵo bazita sur URLConnection, la protokoltraktilo povas ricevi subtenatan eksplicitan prokson ĉe malfermo de la konekto:
Proxy route = new Proxy(Proxy.Type.SOCKS,
new InetSocketAddress("proxy.example", 1080));
URLConnection connection = URI.create("https://service.example/")
.toURL().openConnection(route);
connection.setConnectTimeout(5000);
connection.setReadTimeout(15000);
Por permesitaj testoj de publikaj celoj, uzu taŭgan SOCKS-finpunkton el via servo aŭ el la SOCKS-proksa listo. Ĉi tio estas alia klienta API, ne alternativa skribmaniero de HttpClient.Builder.proxy. Konservu la celan URL-on, por ke HTTPS daŭre identigu la intencatan retejon.
Aplikaĵo, kiu devas konservi java.net.http, povas anstataŭe uzi kongruan HTTP-proksan finpunkton, inkluzive aprobitan adaptilon, kiu prizorgas la pluan SOCKS-konekton. Tio aldonas realan komponanton kaj plian alirbaron; ŝanĝi la pordon 8080 al 1080 ne donas tiun tradukon.
Tenu elekton kaj alprenon videblaj
Registru kaj la rezulton de la selektilo kaj la konekton, kiun la kliento efektive malfermas. La unua priskribas politikan eligon; la dua establas, ĉu la implementaĵo alprenis ĝin.
Ligu konkludojn al la uzata rulejo kaj transporto. JVM-SOCKS-ecoj uzataj de unu soketa implementaĵo ne promesas, ke ĉiu HTTP-biblioteko konsultas ilin. Kiam la itinero estas deviga, nesubtenata proksotipo estu detektata antaŭ ol akcepti ŝajne sukcesan rektan peton.