किसी एप्लिकेशन के मौजूदा libcurl इनिशियलाइज़ेशन और easy-handle जीवनचक्र के भीतर:

curl_easy_setopt(handle, CURLOPT_URL, "https://example.com/");
curl_easy_setopt(handle, CURLOPT_PROXY, "127.0.0.1:1080");
curl_easy_setopt(handle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
curl_easy_setopt(handle, CURLOPT_NOPROXY, "");
curl_easy_setopt(handle, CURLOPT_CONNECTTIMEOUT, 5L);
curl_easy_setopt(handle, CURLOPT_TIMEOUT, 15L);

CURLPROXY_SOCKS5_HOSTNAME गंतव्य का होस्टनाम SOCKS पथ से भेजता है. CURLPROXY_SOCKS5 इसके बजाय इसे क्लाइंट पर हल करता है, जो किसी दूसरे नेटवर्क का DNS दृश्य उपयोग कर सकता है। libcurl का उपयोग करने वाले C++ HTTP क्लाइंट को केवल यह मार्ग चुनने के लिए अपने SOCKS हैंडशेक की आवश्यकता नहीं होती। किसी अनुमत सार्वजनिक एंडपॉइंट के लिए, SOCKS5 प्रॉक्सी सूची उदाहरणात्मक loopback श्रोता के स्थान पर होस्ट और पोर्ट के उम्मीदवार प्रदान करती है।

खाली CURLOPT_NOPROXY मान प्रॉक्सी परीक्षण को जानबूझकर बनाता है। सामान्य एप्लिकेशन नीति में ढालते समय इच्छित बायपास बनाए रखें। ये विकल्प इस हैंडल को प्रभावित करते हैं; प्रक्रिया में अन्य लाइब्रेरी और सॉकेट इन्हें विरासत में नहीं पाते।

विकल्प सेट करने और ट्रांसफ़र के रिटर्न मान एप्लिकेशन की त्रुटि हैंडलिंग के माध्यम से जाँचें। SOCKS तक पहुँचने या उसके साथ बातचीत करने में विफलता किसी भी HTTP प्रतिक्रिया से पहले हो सकती है, इसलिए यह वेबसाइट स्थिति कोड नहीं देती।

आवश्यक प्रॉक्सी क्रेडेंशियल वेबसाइट के लॉगिन से अलग, समर्थित प्रॉक्सी प्रमाणीकरण सेटिंग्स और गुप्त तंत्र का उपयोग करते हैं। TLS सत्यापन सक्रिय रखें: SOCKS के माध्यम से कनेक्शन खोलना HTTPS सेवा की पहचान स्थापित नहीं करता।

संबंधित लेख