SOCKS postavke u Apache HttpClient 5.5 na upravljaču veza
Konfigurišite socket politiku pula pomoću SocketConfig umesto HTTP proxy rute ili prilagođene socket fabrike.
Apache HttpClient 5.5 sadrži putanju SOCKS konfiguracije u socket postavkama upravljača veza. Njegov održavani primer koristi 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();
Ulomak koristi pakete org.apache.hc iz HttpClient 5 i SocketConfig iz HttpCore. Zahtevi upućeni ovim klijentom koriste pul konfigurisan iznad. Zatvorite klijenta kada opseg vlasništva aplikacije završi.
Stavite stvarni URL veb-sajta na zahtev kao i obično. Za dozvoljene zahteve ka javnim sajtovima bez proxy autentifikacije lista SOCKS proxyja nudi kandidatske adrese; izaberite SOCKS verziju koju podržava stvarno izvršno okruženje. SOCKS adresa konfiguriše transport koji se koristi za dolazak do nje; to nije ruta HTTP prosleđujućeg proxyja data kao HttpHost.
Ovo su podrazumevane socket postavke ovog upravljača. Aplikacija koja koristi razrešivač SocketConfig po ruti treba da primeni željenu SOCKS postavku kroz tu politiku. Primer zadržava uobičajenu DNS politiku odredišta upravljača veza; udaljeno razrešavanje imena zahteva posebno proverenu konfiguraciju.