GNURLOPT_DEFAULT_PROTOCOL(3)
β¨ NAME β¨
Okay bestie, welcome to GNURLOPT_DEFAULT_PROTOCOL(3) β the page for CURLOPT_DEFAULT_PROTOCOL, aka the default protocol to use if the URL is missing a scheme name. π
β¨
π SYNOPSIS π
#include <gnurl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEFAULT_PROTOCOL, char
*protocol);
π DESCRIPTION π
Bestie, 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_PROTOCOL 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). Nope, proxy stays 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) β that's the default, bestie. No stress. π
π¦ PROTOCOLS π¦
All β yes bestie, all of them. β¨
π₯ EXAMPLE π₯
Here's the exact example, no cap:
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 β a classic. β
π RETURN VALUE π
CURLE_OKβ if the option is supported. Slay. πCURLE_OUT_OF_MEMORYβ if there was insufficient heap space. πCURLE_UNKNOWN_OPTIONβ if the option is not supported. π
π«Ά SEE ALSO π«Ά
CURLOPT_URL(3), β go read that one too, bestie. π«Ά
Mwah π β source/version libcurl 7.45.0, dated 18 Aug 2015, footer tag GNURLOPT_D...LT_PROTOCOL(3). Bye bestie! π
π¦ where this page comes from
- nixos 26.05: libgnurl 7.72.0
- nixpkgs unstable: libgnurl 7.72.0
- Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms