DOKK / manpages / debian 12 / libcurl4-doc / CURLOPT_PROXYTYPE.3.en
CURLOPT_PROXYTYPE(3) curl_easy_setopt options CURLOPT_PROXYTYPE(3)

CURLOPT_PROXYTYPE - proxy protocol type

#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type);

Pass one of the values below to set the type of the proxy.

HTTP Proxy. Default.
HTTPS Proxy. (Added in 7.52.0 for OpenSSL, GnuTLS and NSS)
HTTP 1.0 Proxy. This is similar to CURLPROXY_HTTP except it uses HTTP/1.0 for any CONNECT tunneling. It does not change the HTTP version of the actual HTTP requests, controlled by CURLOPT_HTTP_VERSION(3).
SOCKS4 Proxy.
SOCKS4a Proxy. Proxy resolves URL hostname.
SOCKS5 Proxy.
SOCKS5 Proxy. Proxy resolves URL hostname.

Often it is more convenient to specify the proxy type with the scheme part of the CURLOPT_PROXY(3) string.

CURLPROXY_HTTP

Most

CURL *curl = curl_easy_init();
if(curl) {

CURLcode ret;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
curl_easy_setopt(curl, CURLOPT_PROXY, "local.example.com:1080");
/* set the proxy type */
curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
ret = curl_easy_perform(curl);
curl_easy_cleanup(curl); }

Always

Returns CURLE_OK

CURLOPT_PROXY(3), CURLOPT_PROXYPORT(3),

January 2, 2023 libcurl 7.88.1