CURLOPT_PROXYTYPE explained
Name
CURLOPT_PROXYTYPE - proxy protocol type
Synopsis
#include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type);
Description
Pass one of the values below to set the type of the proxy.
HTTP Proxy. Default.
HTTPS Proxy using HTTP/1. (Added in 7.52.0 for OpenSSL and GnuTLS. Since 7.87.0, it also works for BearSSL, mbedTLS, Rustls, Schannel, Secure Transport and wolfSSL.)
HTTPS Proxy and attempt to speak HTTP/2 over it. (Added in 8.1.0)
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.
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 string.
Default
CURLPROXY_HTTP
Protocols
This functionality affects all supported protocols
Example
int main(void) { 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); } }
Availability
Added in curl 7.10
Return value
Returns CURLE_OK
See also
CURLOPT_PROXY(3), CURLOPT_PROXYPORT(3)
This HTML page was made with roffit.