Apache HttpClient 5.5 मध्ये कनेक्शन मॅनेजरच्या सॉकेट सेटिंग्जमध्ये SOCKS कॉन्फिगरेशनचा मार्ग आहे. त्याचे देखभाल केलेले उदाहरण 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();

हा तुकडा HttpClient 5 ची org.apache.hc पॅकेजेस आणि HttpCore चे SocketConfig वापरतो. या क्लायंटने केलेल्या विनंत्या वर कॉन्फिगर केलेला पूल वापरतात. ॲप्लिकेशनची मालकीची व्याप्ती संपल्यावर क्लायंट बंद करा.

वेबसाइटचा प्रत्यक्ष URL नेहमीप्रमाणे विनंतीवर ठेवा. प्रॉक्सी प्रमाणीकरणाशिवाय परवानगी असलेल्या सार्वजनिक साइटच्या विनंत्यांसाठी SOCKS प्रॉक्सी यादी उमेदवार पत्ते देते; प्रत्यक्ष रनटाइमला समर्थित असलेली SOCKS आवृत्ती निवडा. SOCKS पत्ता तिथपर्यंत पोहोचण्यासाठी वापरलेले वाहतूक कॉन्फिगर करतो; तो HttpHost म्हणून दिलेला HTTP फॉरवर्ड-प्रॉक्सी मार्ग नाही.

ही या मॅनेजरसाठी डीफॉल्ट सॉकेट सेटिंग्ज आहेत. प्रति-मार्ग SocketConfig रिझोल्व्हर वापरणारे ॲप्लिकेशनने इच्छित SOCKS सेटिंग त्याऐवजी त्या धोरणाद्वारे लागू करावी. उदाहरण कनेक्शन मॅनेजरचे नेहमीचे गंतव्य DNS धोरण टिकवते; दूरस्थ नाव रिझोल्यूशनसाठी स्वतंत्रपणे पडताळलेली कॉन्फिगरेशन आवश्यक आहे.

संबंधित लेख