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 સેવાની ઓળખ સ્થાપિત કરતું નથી.