Apache HttpClient 5.5 sadrži putanju za SOCKS konfiguraciju 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 pul. 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 kandidatske adrese; odaberite SOCKS verziju koju podržava stvarno okruženje izvršavanja. SOCKS adresa konfigurira prijenos koji se koristi za dolazak do nje; to nije ruta HTTP prosljeđujućeg proxyja predana kao HttpHost.

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

Povezani članci