Apache HttpClient 5.5 содржи пат за SOCKS конфигурација во socket поставките на менаџерот за врски. Неговиот одржуван пример користи 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();

Фрагментот ги користи пакетите org.apache.hc на HttpClient 5 и SocketConfig на HttpCore. Барањата направени со овој клиент го користат базенот конфигуриран погоре. Затворете го клиентот кога опсегот на сопственост на апликацијата завршува.

Поставете ја вистинската URL на веб-страницата на барањето како и обично. За дозволени барања до јавни страници без proxy автентикација списокот на SOCKS прокси нуди кандидат адреси; изберете SOCKS верзија што ја поддржува вистинската извршна околина. SOCKS адресата го конфигурира транспортот што се користи за да се стигне до неа; тоа не е HTTP рута за проследување прокси дадена како HttpHost.

Ова се стандардни socket поставки за овој менаџер. Апликација што користи SocketConfig резолвер по рута треба наместо тоа да ја примени саканата SOCKS поставка преку таа политика. Примерот ја задржува вообичаената DNS политика за одредиштето на менаџерот за врски; далечинското разрешување на имиња бара одделно проверена конфигурација.

Поврзани статии