dwww Home | Manual pages | Find package

CURLINFO_SCHEME(3)          Library Functions Manual         CURLINFO_SCHEME(3)

NAME
       CURLINFO_SCHEME - get the URL scheme (sometimes called protocol) used in
       the connection

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SCHEME, char **scheme);

DESCRIPTION
       Pass a pointer to a char pointer to receive the pointer to a null-termi-
       nated  string holding the URL scheme used for the most recent connection
       done with this CURL handle.

       The scheme pointer is NULL or points to private  memory.  You  MUST  NOT
       free  -  it  gets freed when you call curl_easy_cleanup(3) on the corre-
       sponding curl handle.

       The returned scheme might be upper or lowercase. Do comparisons case in-
       sensitively.

PROTOCOLS
       This functionality affects all supported protocols

EXAMPLE
       int main(void)
       {
         CURL *curl = curl_easy_init();
         if(curl) {
           CURLcode res;
           curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
           res = curl_easy_perform(curl);
           if(res == CURLE_OK) {
             char *scheme = NULL;
             curl_easy_getinfo(curl, CURLINFO_SCHEME, &scheme);
             if(scheme)
               printf("scheme: %s\n", scheme); /* scheme: HTTP */
           }
           curl_easy_cleanup(curl);
         }
       }

AVAILABILITY
       Added in curl 7.52.0

RETURN VALUE
       curl_easy_getinfo(3) returns a CURLcode indicating success or error.

       CURLE_OK (0) means everything was OK, non-zero means an error  occurred,
       see libcurl-errors(3).

SEE ALSO
       CURLINFO_EFFECTIVE_URL(3),       CURLINFO_PROTOCOL(3),      CURLINFO_RE-
       SPONSE_CODE(3), curl_easy_getinfo(3), curl_easy_setopt(3)

libcurl                            2026-07-12                CURLINFO_SCHEME(3)

Generated by dwww version 1.16 on Sat Oct 3 05:06:37 CEST 2026.