Ang Apache HttpClient 5.5 ay may kasamang landas ng pag-configure ng SOCKS sa mga setting ng socket ng tagapamahala ng koneksyon. Ginagamit ng pinapanatiling halimbawa nito ang 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();

Ginagamit ng bahaging ito ang mga pakete ng org.apache.hc ng HttpClient 5 at ang SocketConfig ng HttpCore. Ginagamit ng mga kahilingang ginawa sa kliyenteng ito ang pool na na-configure sa itaas. Isara ang kliyente kapag natapos ang saklaw ng pagmamay-ari ng application.

Ilagay ang tunay na URL ng website sa kahilingan gaya ng dati. Para sa mga pinapayagang kahilingan sa mga pampublikong site na walang pagpapatotoo ng proxy, nag-aalok ang listahan ng proxy na SOCKS ng mga kandidatong address; pumili ng bersyon ng SOCKS na sinusuportahan ng tunay na runtime. Ang address ng SOCKS ay nagko-configure ng transportasyong ginagamit upang maabot ito; hindi ito ruta ng pasulong na proxy ng HTTP na ibinigay bilang HttpHost.

Ito ang mga default na setting ng socket para sa tagapamahala na ito. Dapat ilapat ng application na gumagamit ng SocketConfig resolver bawat ruta ang gustong setting ng SOCKS sa pamamagitan ng patakarang iyon. Pinapanatili ng halimbawa ang normal na patakaran ng DNS ng destinasyon ng tagapamahala ng koneksyon; ang malayuang paglutas ng pangalan ay nangangailangan ng hiwalay na na-verify na configuration.

Kaugnay na mga artikulo