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 authentica-
       tion. The only supported	flags are CURLAUTH_BASIC, which	 allows	 user-
       name/password authentication, CURLAUTH_GSSAPI, which allows GSS-API au-
       thentication,  and  CURLAUTH_NONE,  which allows	no authentication. Set
       the actual username and password	with the  CURLOPT_PROXYUSERPWD(3)  op-
       tion.

       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