DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

CURLOPT_PRE_PROXY(3)




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 *preproxy);


DESCRIPTION

     Set the preproxy to use for the upcoming request. The param-
     eter  should be a char * to a zero 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
     default.

     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  particular  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();

libcurl 7.58.0      Last change: May 15, 2017                   1

CURLOPT_PRE_PROXY(3)curl_easy_setopt options CURLOPT_PRE_PROXY(3)

     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.58.0      Last change: May 15, 2017                   2


Man(1) output converted with man2html