SOCKS5 ஹோஸ்ட்பெயர் தீர்வுக்காக libcurl ஹேண்டிலை உள்ளமைக்கவும்
ப்ராக்ஸி வழியாக இலக்கைத் தீர்க்க டிரான்ஸ்ஃபர் ஹேண்டிலில் CURLPROXY_SOCKS5_HOSTNAME பயன்படுத்தவும்.
பயன்பாட்டின் ஏற்கனவே உள்ள 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 சேவையின் அடையாளத்தை நிறுவாது.