Ilovaning mavjud libcurl ishga tushirilishi va easy-handle hayot sikli ichida:

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 manzil xost nomini SOCKS yo'li bo'ylab yuboradi. CURLPROXY_SOCKS5 buning o'rniga uni mijoza hal qiladi, u boshqa tarmoqning DNS ko'rinishidan foydalanishi mumkin. libcurl ishlatadigan C++ HTTP mijozi faqat shu marshrutni tanlash uchun o'zining SOCKS qo'l berishini talab qilmaydi. Ruxsat etilgan ommaviy yakuniy nuqta uchun, SOCKS5 proksilar ro'yxati namunali loopback tinglovchisi o'rniga xost va port nomzodlarini taklif etadi.

Bo'sh CURLOPT_NOPROXY qiymat proksi sinovini ataylab qiladi. Uni oddiy ilova siyosatiga moslashtirganda ko'zda tutilgan chetlab o'tishlarni saqlang. Bu parametrlar ushbu tutqichga ta'sir qiladi; jarayondagi boshqa kutubxonalar va soketlar ularni meros olmaydi.

Parametrlarni o'rnatish va uzatishning qaytarish qiymatlarini ilovaning xatolarni boshqarishi orqali tekshiring. SOCKS ga yetish yoki u bilan muzokara qilishdagi muvaffaqiyatsizlik har qanday HTTP javobidan oldin sodir bo'lishi mumkin, shuning uchun u veb-sayt holat kodini bermaydi.

Kerakli proksi hisob ma'lumotlari veb-saytga kirishdan alohida qo'llab-quvvatlanadigan proksi autentifikatsiya sozlamalari va maxfiy mexanizmdan foydalanadi. TLS tekshiruvini yoqilgan holda saqlang: SOCKS orqali ulanish ochish HTTPS xizmatining shaxsini tasdiqlamaydi.

O'xshash maqolalar