SOCKS-innstillingar i Apache HttpClient 5.5 på tilkoplingshandsamaren
Set socket-retningslinja for samlinga med SocketConfig i staden for ei HTTP-proxyrute eller ein tilpassa socketfabrikk.
Apache HttpClient 5.5 inneheld ein SOCKS-konfigurasjonsveg i socket-innstillingane til tilkoplingshandsamaren. Det vedlikehalde dømet nyttar 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();
Utdraget nyttar org.apache.hc-pakka til HttpClient 5 og SocketConfig til HttpCore. Førespurnader som blir gjorde med denne klienten, nyttar samlinga som er konfigurert ovanfor. Lat klienten att når eigarskapsområdet til applikasjonen tek slutt.
Set den faktiske URL-en til nettstaden på førespurnaden som vanleg. For tillatne førespurnader til offentlege nettstader utan proxy-autentisering tilbyr SOCKS-proxylista kandidatadresser; vel ein SOCKS-versjon som det faktiske køyremiljøet støttar. SOCKS-adressa konfigurerer transporten som blir nytta for å nå ho; det er ikkje ei HTTP-vidaresendingsproxyrute gitt som ein HttpHost.
Dette er standard socket-innstillingar for denne handsamaren. Ein applikasjon som nyttar ein SocketConfig-løysar per rute, bør i staden bruke den ønskte SOCKS-innstillinga gjennom denne retningslinja. Dømet held på den vanlege DNS-retningslinja til tilkoplingshandsamaren for målet; fjernnamnoppslag krev ein separat verifisert konfigurasjon.