Az Apache HttpClient 5.5 SOCKS-konfigurációs útvonalat tartalmaz a kapcsolatkezelő socket-beállításaiban. Karbantartott példája a setSocksProxyAddress elemet használja:

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();

A részlet az HttpClient 5 org.apache.hc csomagjait és a HttpCore SocketConfig elemét használja. Az ezzel a klienssel végzett kérések a fent beállított készletet használják. Zárja be a klienst, amikor az alkalmazás tulajdonosi hatóköre véget ér.

Helyezze a webhely tényleges URL-címét a kérésre a szokásos módon. A proxy-hitelesítés nélküli, engedélyezett nyilvános webhelyekre irányuló kérésekhez a SOCKS-proxylista jelölt címeket kínál; válasszon a tényleges futtatókörnyezet által támogatott SOCKS-verziót. A SOCKS-cím az eléréséhez használt szállítást állítja be; ez nem HttpHostként átadott HTTP-továbbító proxy útvonal.

Ezek a kezelő alapértelmezett socket-beállításai. Az útvonalankénti SocketConfig-feloldót használó alkalmazásnak a kívánt SOCKS-beállítást inkább ezen szabályzaton keresztül kell alkalmaznia. A példa megtartja a kapcsolatkezelő szokásos cél-DNS-szabályzatát; a távoli névfeloldás külön ellenőrzött konfigurációt igényel.

Kapcsolódó cikkek