SOCKS nustatymai Apache HttpClient 5.5 ryšių tvarkyklėje
Konfigūruokite telkinio socket politiką naudodami SocketConfig, o ne HTTP proxy maršrutą ar pasirinktą socket gamyklą.
Apache HttpClient 5.5 turi SOCKS konfigūravimo kelią ryšių tvarkyklės socket nustatymuose. Jo prižiūrimas pavyzdys naudoja setSocksProxyAddress:
InetSocketAddress socks =
new InetSocketAddress("proxy.example.net", 1080);
PoolingHttpClientConnectionManager manager =
PoolingHttpClientConnectionManagerBuilder.create()
.setDefaultSocketConfig(
SocketConfig.custom()
.setSocksProxyAddress(socks)
.build()
)
.build();
CloseableHttpClient client = HttpClients.custom()
.setConnectionManager(manager)
.build();
Fragmentas naudoja HttpClient 5 org.apache.hc paketus ir HttpCore SocketConfig. Užklausos, atliekamos šiuo klientu, naudoja aukščiau sukonfigūruotą telkinį. Uždarykite klientą, kai programos nuosavybės apimtis baigiasi.
Įdėkite tikrąjį svetainės URL į užklausą kaip įprasta. Leidžiamoms užklausoms į viešas svetaines be proxy autentifikavimo SOCKS proxy sąrašas siūlo kandidatų adresus; pasirinkite SOCKS versiją, kurią palaiko tikroji vykdymo aplinka. SOCKS adresas sukonfigūruoja transportą, naudojamą jam pasiekti; tai nėra HTTP perdavimo proxy maršrutas, pateiktas kaip HttpHost.
Tai numatytieji šio tvarkyklės socket nustatymai. Programa, naudojanti maršruto SocketConfig sprendėją, norimą SOCKS nustatymą turėtų taikyti per tą politiką. Pavyzdys išlaiko įprastą ryšių tvarkyklės paskirties DNS politiką; nuotolinis vardų sprendimas reikalauja atskirai patikrintos konfigūracijos.