Konfigurer et libcurl-handle til SOCKS5-værtsnavneopløsning
Brug CURLPROXY_SOCKS5_HOSTNAME på transfer-handlen for at opløse destinationen gennem proxyen.
Inde i et programs eksisterende libcurl-initialisering og easy-handle-livscyklus:
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 destinationens værtsnavn langs SOCKS-stien. CURLPROXY_SOCKS5 opløser det i stedet på klienten, som kan bruge et andet netværks DNS-visning. En C++ HTTP-klient, der bruger libcurl, har ikke brug for sit eget SOCKS-håndtryk alene for at vælge denne rute. For et tilladt offentligt endepunkt tilbyder SOCKS5-proxylisten værts- og portkandidater til at erstatte den illustrative loopback-lytter.
Den tomme CURLOPT_NOPROXY værdi gør proxy-testen bevidst. Bevar tilsigtede omgåelser, når du tilpasser den til normal programpolitik. Disse indstillinger påvirker dette handle; andre biblioteker og sockets i processen arver dem ikke.
Kontroller returværdier for indstilling af indstillinger og overførsel gennem programmets fejlhåndtering. Manglende evne til at nå eller forhandle med SOCKS kan forekomme før enhver HTTP-respons, så det giver ikke en webstedsstatuskode.
Påkrævede proxy-legitimationsoplysninger bruger de understøttede proxy-godkendelsesindstillinger og hemmelighedsmekanismen, adskilt fra webstedets login. Hold TLS-verifikation aktiveret: åbning af en forbindelse gennem SOCKS fastslår ikke HTTPS-tjenestens identitet.