Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_DEFAULT_PROTOCOL (3)

Name

CURLOPT_DEFAULT_PROTOCOL - ing a scheme name

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEFAULT_PROTOCOL,
char *protocol);

Description

curl_easy_setopt options                           CURLOPT_DEFAULT_PROTOCOL(3)



NAME
       CURLOPT_DEFAULT_PROTOCOL  - default protocol to use if the URL is miss-
       ing a scheme name

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEFAULT_PROTOCOL,
                                 char *protocol);

DESCRIPTION
       This option tells libcurl to use protocol  if  the  URL  is  missing  a
       scheme name.

       Use one of these protocol (scheme) names:

       dict,  file,  ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps,
       pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp

       An unknown or unsupported protocol causes error  CURLE_UNSUPPORTED_PRO-
       TOCOL  when  libcurl  parses  a  schemeless  URL.  Parsing happens when
       curl_easy_perform(3) or curl_multi_perform(3) is called. The  protocols
       supported  by  libcurl  will  vary  depending  on how it was built. Use
       curl_version_info(3) if you need a list of protocol names supported  by
       the build of libcurl that you are using.

       This option does not change the default proxy protocol (http).

       Without  this  option libcurl would make a guess based on the host, see
       CURLOPT_URL(3) for details.

       The application does not have to keep the string around  after  setting
       this option.

DEFAULT
       NULL (make a guess based on the host)

PROTOCOLS
       All

EXAMPLE
       curl = curl_easy_init();
       if(curl) {
         /* set a URL without a scheme */
         curl_easy_setopt(curl, CURLOPT_URL, "example.com");

         /* set the default protocol (scheme) for schemeless URLs */
         curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");

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

AVAILABILITY
       Added in 7.45.0

RETURN VALUE
       CURLE_OK if the option is supported.

       CURLE_OUT_OF_MEMORY if there was insufficient heap space.

       CURLE_UNKNOWN_OPTION if the option is not supported.


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


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       CURLOPT_URL(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 26, 2021
                                                   CURLOPT_DEFAULT_PROTOCOL(3)