Apache HttpClient 5.5 sadrži putanju SOCKS konfiguracije u socket postavkama upravitelja veza. Njegov održavani primjer koristi 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();

Ulomak koristi pakete org.apache.hc iz HttpClient 5 i SocketConfig iz HttpCore. Zahtjevi upućeni ovim klijentom koriste gore konfigurirani skup. Zatvorite klijenta kada opseg vlasništva aplikacije završi.

Stavite stvarni URL web-mjesta na zahtjev kao i obično. Za dopuštene zahtjeve prema javnim stranicama bez proxy provjere autentičnosti popis SOCKS proxyja nudi kandidatne adrese; odaberite SOCKS verziju koju podržava stvarno izvršno okruženje. SOCKS adresa konfigurira prijenos koji se rabi za dolazak do nje; to nije ruta HTTP posredničkog proxyja predana kao HttpHost.

Ovo su zadane socket postavke za ovaj upravitelj. Aplikacija koja rabi razrješivač SocketConfig po ruti trebala bi željenu SOCKS postavku primijeniti kroz tu politiku. Primjer zadržava uobičajenu DNS politiku odredišta upravitelja veza; udaljeno razrješavanje naziva zahtijeva zasebno provjerenu konfiguraciju.

Povezani članci