GNURLINFO_PROTOCOL(3)

πŸ“¦ version 7.72.0, in nixos 26.05, nixpkgs unstable

πŸ’… GNURLINFO_PROTOCOL(3) πŸ’…

okay so this iconic page comes from the curl_easy_getinfo options manual, and it's here to explain CURLINFO_PROTOCOL to you, bestie. no cap, it's a tiny one. πŸ¦‹

✨ NAME ✨

CURLINFO_PROTOCOL β€” get the protocol used in the connection. that's the whole vibe. πŸ’–

πŸŽ€ SYNOPSIS πŸŽ€

#include <gnurl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROTOCOL, long *p);

🌸 DESCRIPTION 🌸

okay so literally pass a pointer to a long, and it receives the version used in the last http connection. The returned value will be exactly one of the CURLPROTO_* values β€” no mixing, no guessing, periodt:

  • 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
  • CURLPROTO_MQTT

πŸ¦‹ PROTOCOLS πŸ¦‹

All β€” like, every protocol, bestie. πŸ’…

πŸ”₯ EXAMPLE πŸ”₯

CURL *curl = curl_easy_init();
if(curl) {
  CURLcode res;
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
  res = curl_easy_perform(curl);
  if(res == CURLE_OK) {
    long protocol;
    curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol);
  }
  curl_easy_cleanup(curl);
}

⭐ AVAILABILITY ⭐

Added in 7.52.0. slay. 🫢

πŸ‘‘ RETURN VALUE πŸ‘‘

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. that's it. πŸ’–

🌈 SEE ALSO 🌈

🫢 okay that's the whole page, bestie! it's from libcurl 7.52.0, dated 23 November 2016. mwah πŸ’‹
πŸ“¦ where this page comes from