Inne i eit program sitt eksisterande libcurl-init og easy-handle-livssyklus:

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 sender vertsnamnet til destinasjonen langs SOCKS-stien. CURLPROXY_SOCKS5 slår det i staden opp på klienten, som kan bruke DNS-visninga til eit anna nettverk. Ein C++ HTTP-klient som brukar libcurl treng ikkje sin eigen SOCKS-handtrykk berre for å velje denne ruta. For eit tillate offentleg endepunkt tilbyr SOCKS5-proxylista vert- og portkandidatar for å erstatte den illustrative loopback-lyttaren.

Den tomme CURLOPT_NOPROXY verdien gjer proxy-testen medviten. Hald på tiltenkte omgåingar når du tilpassar han til normal programpolicy. Desse vala påverkar dette handtaket; andre bibliotek og socketar i prosessen arvar dei ikkje.

Kontroller returverdiar for innstilling av val og overføring gjennom feilhandteringa til programmet. Manglande evne til å nå eller forhandle med SOCKS kan skje før ein kvar HTTP-respons, så det gir ikkje ein nettstadstatuskode.

Påkravde proxy-legitimasjonar brukar dei støtta proxy-autentiseringsinnstillingane og hemmelegheitsmekanismen, skilt frå pålogginga til nettstaden. Hald TLS-verifisering aktivert: å opne ei tilkopling gjennom SOCKS fastslår ikkje identiteten til HTTPS-tenesta.

Relaterte artiklar