SOCKS-asetukset Apache HttpClient 5.5:ssä yhteyksien hallinnassa
Määritä altaan socket-käytäntö SocketConfigilla HTTP-välityspalvelinreitin tai mukautetun socket-tehtaan sijaan.
Apache HttpClient 5.5 sisältää SOCKS-määrityspolun yhteyksien hallinnan socket-asetuksissa. Sen ylläpidetty esimerkki käyttää 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();
Katkelma käyttää HttpClient 5:n org.apache.hc-paketteja ja HttpCoren SocketConfig-luokkaa. Tällä asiakkaalla tehdyt pyynnöt käyttävät yllä määritettyä allasta. Sulje asiakas, kun sovelluksen omistusalue päättyy.
Aseta sivuston todellinen URL pyyntöön tavalliseen tapaan. Sallituille julkisten sivustojen pyynnöille ilman välityspalvelimen todennusta SOCKS-välityspalvelinluettelo tarjoaa ehdokasosoitteita; valitse SOCKS-versio, jota todellinen suoritusympäristö tukee. SOCKS-osoite määrittää sen saavuttamiseen käytettävän siirtokerroksen; se ei ole HttpHostina annettu HTTP-edelleenvälityspalvelinreitti.
Nämä ovat tämän hallinnan oletusarvoiset socket-asetukset. Sovelluksen, joka käyttää reittikohtaista SocketConfig-ratkaisijaa, tulisi soveltaa haluttu SOCKS-asetus sen käytännön kautta. Esimerkki säilyttää yhteyksien hallinnan normaalin kohde-DNS-käytännön; etänimen ratkaisu vaatii erikseen vahvistetun määrityksen.