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

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_SOCKS5_AUTH(3)	    Library Functions Manual	  CURLOPT_SOCKS5_AUTH(3)

NAME
     CURLOPT_SOCKS5_AUTH - methods for SOCKS5 proxy authentication

SYNOPSIS
     #include <curl/curl.h>

     CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_AUTH, long bitmask);

DESCRIPTION
     Pass  a long as parameter, which is set to a bitmask, to tell libcurl which
     authentication method(s) are allowed for SOCKS5 proxy  authentication.  The
     only supported flags are CURLAUTH_BASIC, which allows username/password au-
     thentication,  CURLAUTH_GSSAPI,  which  allows  GSS-API authentication, and
     CURLAUTH_NONE, which allows no authentication. Set the actual username  and
     password with the CURLOPT_PROXYUSERPWD(3) option.

     The specific socks authentication method is an access property, it does not
     change  the  security  context. This means that this option changes how the
     connection and access to the proxy happens when a connection is setup,  but
     it  does  not affect which proxy connections libcurl can reuse. libcurl may
     reuse a connection that was set up with a	different  socks  authentication
     method.  Proxy connection reuse still depends on other properties matching,
     such as the protocol, proxy hostname, port number,  credentials  and  other
     settings that affect the connection.

DEFAULT
     CURLAUTH_BASIC | CURLAUTH_GSSAPI

PROTOCOLS
     This functionality affects all supported protocols

EXAMPLE
     int main(void)
     {
       CURL *curl = curl_easy_init();
       if(curl) {
	 CURLcode result;
	 curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");

	 /* request to use a SOCKS5 proxy */
	 curl_easy_setopt(curl, CURLOPT_PROXY, "socks5://user:pass@myproxy.com");

	 /* enable username/password authentication only */
	 curl_easy_setopt(curl, CURLOPT_SOCKS5_AUTH, CURLAUTH_BASIC);

	 /* Perform the request */
	 result = curl_easy_perform(curl);
	 curl_easy_cleanup(curl);
       }
     }

HISTORY
     CURLAUTH_* macros became long types in 7.26.0, prior to this version a long
     cast was necessary when passed to curl_easy_setopt(3).

AVAILABILITY
     Added in curl 7.55.0

RETURN VALUE
     curl_easy_setopt(3) returns a CURLcode indicating success or error.

     CURLE_OK (0) means everything was OK, non-zero means an error occurred, see
     libcurl-errors(3).

SEE ALSO
     CURLOPT_PROXY(3), CURLOPT_PROXYTYPE(3)

libcurl 			   2026-06-11		  CURLOPT_SOCKS5_AUTH(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=CURLOPT_SOCKS5_AUTH&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help