Konfigurácia libcurl handle na preklad názvu hostiteľa cez SOCKS5
Použite CURLPROXY_SOCKS5_HOSTNAME na prenosovom handle, aby sa cieľ preložil cez proxy.
V rámci existujúcej inicializácie libcurl v aplikácii a životného cyklu 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 posiela názov hostiteľa cieľa po ceste SOCKS. CURLPROXY_SOCKS5 namiesto toho ho prekladá na klientovi, ktorý môže používať DNS pohľad inej siete. HTTP klient v C++ používajúci libcurl nepotrebuje vlastný SOCKS handshake len kvôli výberu tejto trasy. Pre povolený verejný koncový bod zoznam SOCKS5 proxy ponúka kandidátov hostiteľa a portu, ktorí nahradia ilustratívny loopback poslucháč.
Prázdna CURLOPT_NOPROXY hodnota robí test proxy zámerným. Zachovajte zamýšľané obchádzania pri prispôsobení bežnej politike aplikácie. Tieto možnosti ovplyvňujú tento handle; ostatné knižnice a sockety v procese ich nededia.
Kontrolujte návratové hodnoty nastavenia možností a prenosu prostredníctvom spracovania chýb aplikácie. Zlyhanie pri dosiahnutí SOCKS alebo rokovaní s ním môže nastať pred akoukoľvek odpoveďou HTTP, takže neposkytuje stavový kód webu.
Požadované prihlasovacie údaje proxy používajú podporované nastavenia autentifikácie proxy a mechanizmus tajomstiev oddelene od prihlásenia na web. Ponechajte overovanie TLS zapnuté: otvorenie spojenia cez SOCKS nepreukazuje identitu služby HTTPS.