Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019
 
 

CURLOPT_PROTOCOLS (3)

Name

CURLOPT_PROTOCOLS - set allowed protocols

Synopsis

#include <curl/curl.h>

CURLcode  curl_easy_setopt(CURL  *handle,  CURLOPT_PROTOCOLS, long bit-
mask);

Description

CURLOPT_PROTOCOLS(3)       curl_easy_setopt options       CURLOPT_PROTOCOLS(3)



NAME
       CURLOPT_PROTOCOLS - set allowed protocols

SYNOPSIS
       #include <curl/curl.h>

       CURLcode  curl_easy_setopt(CURL  *handle,  CURLOPT_PROTOCOLS, long bit-
       mask);

DESCRIPTION
       Pass a long that holds a bitmask of CURLPROTO_* defines. If used,  this
       bitmask  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  will  accept  all  protocols  it  supports
       (CURLPROTO_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
       All

EXAMPLE
       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,
                          CURLPROTO_HTTP | CURLPROTO_TFTP | CURLPROTO_SFTP);

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

AVAILABILITY
       Added in 7.19.4

RETURN VALUE
       Returns  CURLE_OK  if the option is supported, and CURLE_UNKNOWN_OPTION
       if not.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+
SEE ALSO
       CURLOPT_REDIR_PROTOCOLS(3), CURLOPT_URL(3),



NOTES
       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source   was    downloaded    from     https://github.com/curl/curl/ar-
       chive/curl-7_64_0.zip

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.37.0                    19 Jun 2014             CURLOPT_PROTOCOLS(3)