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

FreeBSD Manual Pages

  
 
  

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

NAME
       CURLOPT_PROTOCOLS - allowed protocols

SYNOPSIS
       #include	<curl/curl.h>

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

DESCRIPTION
       This  option  is	deprecated. We strongly	recommend using	CURLOPT_PROTO-
       COLS_STR(3) instead because this	option cannot  control	all  available
       protocols.

       Pass  a	long that holds	a bitmask of protocol bits. If used, this bit-
       mask limits what	protocols libcurl may use in the transfer. This	allows
       you to have a libcurl built to support a	wide range  of	protocols  but
       still  limit  specific  transfers to only be allowed to use a subset of
       them. By	default	libcurl	 accepts  all  protocols  it  supports	(CURL-
       PROTO_ALL). See also CURLOPT_REDIR_PROTOCOLS(3).

       These are the available protocol	defines:
       CURLPROTO_DICT
       CURLPROTO_FILE
       CURLPROTO_FTP
       CURLPROTO_FTPS
       CURLPROTO_GOPHER
       CURLPROTO_HTTP
       CURLPROTO_HTTPS
       CURLPROTO_IMAP
       CURLPROTO_IMAPS
       CURLPROTO_LDAP
       CURLPROTO_LDAPS
       CURLPROTO_POP3
       CURLPROTO_POP3S
       CURLPROTO_RTMP
       CURLPROTO_RTMPE
       CURLPROTO_RTMPS
       CURLPROTO_RTMPT
       CURLPROTO_RTMPTE
       CURLPROTO_RTMPTS
       CURLPROTO_RTSP
       CURLPROTO_SCP
       CURLPROTO_SFTP
       CURLPROTO_SMB
       CURLPROTO_SMBS
       CURLPROTO_SMTP
       CURLPROTO_SMTPS
       CURLPROTO_TELNET
       CURLPROTO_TFTP

DEFAULT
       All protocols built-in.

PROTOCOLS
       This functionality affects all supported	protocols

EXAMPLE
       int main(int argc, char **argv)
       {
	 CURL *curl = curl_easy_init();
	 if(curl) {
	   /* pass in the URL from an external source */
	   curl_easy_setopt(curl, CURLOPT_URL, argv[1]);

	   /* only allow HTTP, TFTP and	SFTP */
	   curl_easy_setopt(curl, CURLOPT_PROTOCOLS,
			    (long)CURLPROTO_HTTP | CURLPROTO_TFTP | CURLPROTO_SFTP);

	   /* Perform the request */
	   curl_easy_perform(curl);
	 }
       }

DEPRECATED
       Deprecated since	7.85.0.

AVAILABILITY
       Added in	curl 7.19.4

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_DEFAULT_PROTOCOL(3), CURLOPT_REDIR_PROTOCOLS(3),	CURLOPT_URL(3)

libcurl				  2025-06-03		  CURLOPT_PROTOCOLS(3)

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

home | help