manpagez: man pages & more
man CURLOPT_SSL_ENABLE_ALPN(3)
Home | html | info | man
CURLOPT_SSL_ENABLE_ALPN(3)                            Library Functions Manual


NAME

       CURLOPT_SSL_ENABLE_ALPN - Application Layer Protocol Negotiation


SYNOPSIS

       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_ALPN, long npn);


DESCRIPTION

       Pass a long as parameter, 0 or 1 where 1 is for enable and 0 for
       disable. This option enables/disables ALPN in the SSL handshake (if the
       SSL backend libcurl is built to use supports it), which can be used to
       negotiate http2.


DEFAULT

       1, enabled


PROTOCOLS

       This functionality affects all TLS based protocols: HTTPS, FTPS, IMAPS,
       POP3S, SMTPS etc.

       All TLS backends support this option.


EXAMPLE

       int main(void)
       {
         CURL *curl = curl_easy_init();
         if(curl) {
           CURLcode res;
           curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
           curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, 0L);
           res = curl_easy_perform(curl);
           curl_easy_cleanup(curl);
         }
       }


AVAILABILITY

       Added in curl 7.36.0


RETURN VALUE

       curl_easy_setopt(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

       CURLOPT_SSL_ENABLE_NPN(3), CURLOPT_SSL_OPTIONS(3)

libcurl                           2025-02-08        CURLOPT_SSL_ENABLE_ALPN(3)

curl 8.12.0 - Generated Wed Feb 19 08:46:52 CST 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.