Apache HttpClient 5.5 sisaldab SOCKS-i seadistamise võimalust ühenduste halduri socketi seadetes. Selle hooldatav näide kasutab 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();

Katkend kasutab HttpClient 5 pakette org.apache.hc ja HttpCore'i SocketConfig. Selle kliendiga tehtud päringud kasutavad ülal seadistatud basseini. Sulgege klient, kui rakenduse omandiulatus lõpeb.

Asetage veebisaidi tegelik URL päringule nagu tavaliselt. Lubatud avalike saitide päringutele ilma puhverserveri autentimiseta pakub SOCKS-puhverserverite loend kandidaataadresse; valige SOCKS-i versioon, mida tegelik käituskeskkond toetab. SOCKS-aadress seadistab selle juurde jõudmiseks kasutatava transpordi; see ei ole HttpHostina antud HTTP edasisaatmispuhverserveri marsruut.

Need on selle halduri vaikimisi socketi seaded. Rakendus, mis kasutab marsruudipõhist SocketConfig-i lahendajat, peaks soovitud SOCKS-i seade rakendama hoopis selle poliitika kaudu. Näide säilitab ühenduste halduri tavalise sihtkoha DNS-poliitika; kaugema nime lahendamine nõuab eraldi kontrollitud konfiguratsiooni.

Seotud artiklid