Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_USE_SSL (3)

Name

CURLOPT_USE_SSL - request using SSL / TLS for the transfer

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL, long level);

Description

CURLOPT_USE_SSL(3)         curl_easy_setopt options         CURLOPT_USE_SSL(3)



NAME
       CURLOPT_USE_SSL - request using SSL / TLS for the transfer

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL, long level);

DESCRIPTION
       Pass  a  long  using  one of the values from below, to make libcurl use
       your desired level of SSL for the transfer.

       These are all protocols that start out plain text and get "upgraded" to
       SSL using the STARTTLS command.

       This is for enabling SSL/TLS when you use FTP, SMTP, POP3, IMAP etc.

       CURLUSESSL_NONE
              do not attempt to use SSL.

       CURLUSESSL_TRY
              Try using SSL, proceed as normal otherwise. Note that server may
              close the connection if the negotiation does not succeed.

       CURLUSESSL_CONTROL
              Require  SSL  for  the   control   connection   or   fail   with
              CURLE_USE_SSL_FAILED.

       CURLUSESSL_ALL
              Require    SSL    for    all    communication   or   fail   with
              CURLE_USE_SSL_FAILED.

DEFAULT
       CURLUSESSL_NONE

PROTOCOLS
       FTP, SMTP, POP3, IMAP, LDAP

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/file.ext");

         /* require use of SSL for this, or fail */
         curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);

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

AVAILABILITY
       Added in 7.11.0. This option was known as CURLOPT_FTP_SSL up to 7.16.4,
       and  the  constants  were  known  as CURLFTPSSL_* Handled by LDAP since
       7.81.0. Fully supported by the openldap backend only.

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_SSLVERSION(3),         CURLOPT_PROXY_SSLVERSION(3),        CUR-
       LOPT_SSL_OPTIONS(3),



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source      was      downloaded       from        https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

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



libcurl 7.83.1                 November 30, 2021            CURLOPT_USE_SSL(3)