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 విధానాన్ని నిలుపుకుంటుంది; దూర నామ రిజల్యూషన్‌కు విడిగా ధృవీకరించిన కాన్ఫిగరేషన్ అవసరం.

సంబంధిత వ్యాసాలు