Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_HTTPPROXYTUNNEL(3) curl_easy_setopt options CURLOPT_HTTPPROXYTUNNEL(3)

NAME
       CURLOPT_HTTPPROXYTUNNEL - tunnel	through	HTTP proxy

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	 curl_easy_setopt(CURL	*handle, CURLOPT_HTTPPROXYTUNNEL, long
       tunnel);

DESCRIPTION
       Set the tunnel parameter	to 1L to make libcurl  tunnel  all  operations
       through the HTTP	proxy (set with	CURLOPT_PROXY(3)). There is a big dif-
       ference between using a proxy and to tunnel through it.

       Tunneling means that a HTTP CONNECT request is sent to the proxy,  ask-
       ing  it	to connect to a	remote host on a specific port number and then
       the traffic is just passed through the proxy. Proxies  tend  to	white-
       list specific port numbers it allows CONNECT requests to	and often only
       port 80 and 443 are allowed.

       To suppress proxy CONNECT response headers from user callbacks use CUR-
       LOPT_SUPPRESS_CONNECT_HEADERS(3).

       HTTP proxies can	generally only speak HTTP (for obvious reasons), which
       makes libcurl convert non-HTTP requests to  HTTP	 when  using  an  HTTP
       proxy  without  this  tunnel option set.	For example, asking for	an FTP
       URL and specifying an HTTP proxy	will make libcurl send an FTP URL in a
       HTTP  GET request to the	proxy. By instead tunneling through the	proxy,
       you avoid that conversion (that rarely works through the	proxy anyway).

DEFAULT
       0

PROTOCOLS
       All network protocols

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl)	{
	 curl_easy_setopt(curl,	CURLOPT_URL, "ftp://example.com/file.txt");
	 curl_easy_setopt(curl,	CURLOPT_PROXY, "http://127.0.0.1:80");
	 curl_easy_setopt(curl,	CURLOPT_HTTPPROXYTUNNEL, 1L);
	 curl_easy_perform(curl);
       }

AVAILABILITY
       Always

RETURN VALUE
       Returns CURLE_OK

SEE ALSO
       CURLOPT_PROXY(3), CURLOPT_PROXYTYPE(3), CURLOPT_PROXYPORT(3),

libcurl	7.54.1			 May 15, 2017	    CURLOPT_HTTPPROXYTUNNEL(3)

NAME | SYNOPSIS | DESCRIPTION | DEFAULT | PROTOCOLS | EXAMPLE | AVAILABILITY | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=CURLOPT_HTTPPROXYTUNNEL&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help