Apache HttpClient 5.5 obsahuje cestu konfigurácie SOCKS v socketových nastaveniach správcu pripojení. Jeho udržiavaný príklad používa 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();

Fragment používa balíky org.apache.hc z HttpClient 5 a SocketConfig z HttpCore. Požiadavky vytvorené týmto klientom používajú fond nakonfigurovaný vyššie. Zatvorte klienta, keď sa rozsah vlastníctva aplikácie skončí.

Vložte skutočnú URL webu do požiadavky ako obvykle. Pre povolené požiadavky na verejné stránky bez overenia proxy ponúka zoznam SOCKS proxy kandidátske adresy; vyberte verziu SOCKS, ktorú podporuje skutočné runtime prostredie. Adresa SOCKS konfiguruje prenos použitý na jej dosiahnutie; nie je to trasa HTTP dopredného proxy odovzdaná ako HttpHost.

Toto sú predvolené socketové nastavenia tohto správcu. Aplikácia, ktorá používa prekladač SocketConfig pre jednotlivé trasy, má požadované nastavenie SOCKS použiť namiesto toho prostredníctvom tejto politiky. Príklad zachováva bežnú DNS politiku cieľa správcu pripojení; vzdialené prekladanie názvov vyžaduje samostatne overenú konfiguráciu.

Súvisiace články