Konfiguracija ročaja libcurl za razreševanje imena gostitelja prek SOCKS5
Uporabite CURLPROXY_SOCKS5_HOSTNAME na ročaju prenosa, da cilj razrešite prek posrednika.
Znotraj obstoječe inicializacije libcurl v aplikaciji in življenjskega cikla 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 pošlje ime gostitelja cilja po poti SOCKS. CURLPROXY_SOCKS5 namesto tega ga razreši na odjemalcu, ki lahko uporabi pogled DNS drugega omrežja. Odjemalec HTTP v C++, ki uporablja libcurl, ne potrebuje lastnega rokovanja SOCKS samo za izbiro te poti. Za dovoljeno javno končno točko seznam posrednikov SOCKS5 ponuja kandidate za gostitelja in vrata, ki nadomestijo ponazoritveni poslušalec loopback.
Prazna CURLOPT_NOPROXY vrednost naredi preizkus posrednika nameren. Ohranite predvidene obhode pri prilagajanju običajni politiki aplikacije. Te možnosti vplivajo na ta ročaj; druge knjižnice in vtičnice v procesu jih ne podedujejo.
Preverite povratne vrednosti nastavljanja možnosti in prenosa prek obravnave napak aplikacije. Neuspeh pri doseganju SOCKS ali pogajanju z njim se lahko zgodi pred katerim koli odgovorom HTTP, zato ne zagotavlja kode stanja spletnega mesta.
Zahtevane poverilnice posrednika uporabljajo podprte nastavitve preverjanja pristnosti posrednika in mehanizem skrivnosti, ločeno od prijave na spletno mesto. Pustite preverjanje TLS vključeno: odpiranje povezave prek SOCKS ne vzpostavi identitete storitve HTTPS.