अ‍ॅप्लिकेशनच्या विद्यमान 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 सेवेची ओळख स्थापित करत नाही.

संबंधित लेख