JDK 25 HttpClient brúkar ikki SOCKS-rútur frá ProxySelector
Vel ein Java HTTP-flutning sum veruliga stuðlar SOCKS, í staðin fyri at líta bert á slagið sum ein ProxySelector letur frá sær.
Ein Java-proxy-objekt lýsir eini rút. Netverksklienturin avgreiðir framvegis hvørjar rútur hann kann brúka. Hetta hevur týdning tá tøka endapunkturin talar SOCKS og forritið brúkar java.net.http.HttpClient.
Í JDK 25-íverksetingini sum verður kannað her, tekur áheitanarkota HTTP-klientins ímóti einum HTTP-umbjóðara frá veljaranum. Ein SOCKS-umbjóðari fær hann ikki at gera SOCKS-samrøðu; íverksetingin kann halda fram uttan proxy. Ein væleydnaður svarur er tí ikki nóg gott prógv um at SOCKS-innslagið í einum serstakligum veljara var brúkt.
Vel flutningin fyrst
Fyri eitt verandi URLConnection-bygt forrit kann protokollhandfararin fáa ein stuðlaðan týðuligan proxy tá sambandið verður lokað upp:
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);
Fyri loyvdar royndir á almennum málum, brúka ein samsvarandi SOCKS-endapunkt frá tænastuni hjá tær ella frá SOCKS-proxy-listuni. Hetta er eitt øðrvísi klient-API, ikki ein onnur stavseting av HttpClient.Builder.proxy. Varðveit mál-URL-in so HTTPS framvegis eyðkennir tann ætlaða heimasíðuna.
Eitt forrit sum má varðveita java.net.http kann í staðin brúka ein samsvarandi HTTP-proxy-endapunkt, eisini ein góðkendan adaptara sum tekur sær av tí næsta SOCKS-sambandinum. Hetta leggur ein veruligan part og eina aðra atgongdarmørk afturat; at broyta port 8080 til 1080 gevur ikki hesa umsetingina.
Halt val og tøku sjónlig
Skráset bæði úrslitið hjá veljaranum og sambandið sum klienturin veruliga letur upp. Tann fyrri lýsir politik-úttøku; tann seinni staðfestir um íverksetingin tók hana til sín.
Bind niðurstøðurnar til koyri-umhvørvið og flutningin sum verður brúktur. JVM SOCKS-eindir sum ein socket-íverkseting brúkar eru ikki eitt lyfti um at hvør HTTP-bókasavn spyr eftir teimum. Tá rútan er skyldug, eigur ein óstuðlaður proxy-slagur at verða funnin áðrenn ein tilsýnandi væleydnað áheitan verður góðtikin.