Қолданбаның бар 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 қызметінің жеке басын анықтамайды.

Қатысты мақалалар