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

FreeBSD Manual Pages

  
 
  

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

NAME
       CURLOPT_PRE_PROXY - set pre-proxy to use

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	 curl_easy_setopt(CURL	*handle, CURLOPT_PRE_PROXY, char *pre-
       proxy);

DESCRIPTION
       Set the preproxy	to use for the upcoming	request. The parameter	should
       be a char * to a	null-terminated	string holding the host	name or	dotted
       numerical IP address. A numerical IPv6 address must be  written	within
       [brackets].

       To specify port number in this string, append :[port] to	the end	of the
       host name. The proxy's port number may optionally be specified with the
       separate	 option	 CURLOPT_PROXYPORT(3).	If not specified, libcurl will
       default to using	port 1080 for proxies.

       A pre proxy is a	SOCKS proxy that curl connects to before  it  connects
       to  the	HTTP(S)	 proxy	specified in the CURLOPT_PROXY option. The pre
       proxy can only be a SOCKS proxy.

       The pre proxy string should be prefixed	with  [scheme]://  to  specify
       which  kind  of	socks is used. Use socks4://, socks4a://, socks5:// or
       socks5h:// (the last one	to enable socks5 and asking the	 proxy	to  do
       the resolving, also known as CURLPROXY_SOCKS5_HOSTNAME type) to request
       the specific SOCKS version to be	used. Otherwise	SOCKS4 is used as  de-
       fault.

       Setting	the  pre  proxy	string to "" (an empty string) will explicitly
       disable the use of a pre	proxy.

       The application does not	have to	keep the string	around	after  setting
       this option.

DEFAULT
       Default is NULL,	meaning	no pre proxy is	used.

       When you	set a host name	to use,	do not assume that there's any partic-
       ular single port	number used widely for proxies.	Specify	it!

PROTOCOLS
       All except file://. Note	that some protocols don't do  very  well  over
       proxy.

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl)	{
	 curl_easy_setopt(curl,	CURLOPT_URL, "http://example.com/file.txt");
	 curl_easy_setopt(curl,	CURLOPT_PREPROXY, "socks4://socks-proxy:1080");
	 curl_easy_setopt(curl,	CURLOPT_PROXY, "http://proxy:80");
	 curl_easy_perform(curl);
       }

AVAILABILITY
       Added in	7.52.0

RETURN VALUE
       Returns CURLE_OK	if proxies are supported, CURLE_UNKNOWN_OPTION if not,
       or CURLE_OUT_OF_MEMORY if there was insufficient	heap space.

SEE ALSO
       CURLOPT_PROXY(3), CURLOPT_HTTPPROXYTUNNEL(3),

libcurl	7.72.0			 June 25, 2020		  CURLOPT_PRE_PROXY(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_PRE_PROXY&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help