Lungiselela i-libcurl handle yokuxazulula igama lomsingathi le-SOCKS5
Sebenzisa i-CURLPROXY_SOCKS5_HOSTNAME ku-transfer handle ukuze uxazulule indawo ngokusebenzisa i-proxy.
Ngaphakathi kokuqalisa kwe-libcurl okukhona kohlelo kanye nomjikelezo wempilo we-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 ithumela igama lomsingathi lwendawo ngomzila we-SOCKS. CURLPROXY_SOCKS5 esikhundleni salokho iyixazulula kuklayenti, engasebenzisa umbono we-DNS wenye inethiwekhi. Iklayenti le-HTTP le-C++ elisebenzisa i-libcurl alidingi i-SOCKS handshake yalo siqu ukuze likhethe lo mzila kuphela. Kumphathi womphakathi ovunyelwe, uhlu lwama-proxy e-SOCKS5 lunikeza abazohambisa umsingathi kanye nechweba ukuthatha indawo yomlaleli we-loopback oyisibonelo.
Inani CURLOPT_NOPROXY elingenalutho lenza ukuhlolwa kwe-proxy kube ngamabomu. Gcina ama-bypass ahlosiwe lapho uyijwayelanisa nenqubomgomo evamile yohlelo. Lezi zinketho zithinta le handle; ezinye izincwadi nezokuthumela ngqo ezisohlelweni azizitholi njengefa.
Hlola amanani okubuyiselwa kokusetha izinketho kanye nokudluliswa ngokusebenzisa ukuphathwa kwamaphutha kohlelo. Ukuhluleka ukufinyelela i-SOCKS noma ukuxoxisana nayo kungenzeka ngaphambi kwanoma iyiphi impendulo ye-HTTP, ngakho akunikezi ikhodi yesimo sewebhusayithi.
Imininingwane ye-proxy edingekayo isebenzisa izilungiselelo zokuqinisekisa i-proxy ezisekelwayo kanye nendlela yemfihlo, ngokuhlukile ekungeneni kusayithi. Gcina ukuqinisekiswa kwe-TLS kuvuliwe: ukuvula uxhumano nge-SOCKS akusimisi ubunikazi besevisi ye-HTTPS.