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


NAME

       CURLOPT_ALTSVC - alt-svc cache filename


SYNOPSIS

       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ALTSVC, char *filename);


DESCRIPTION

       Pass in a pointer to a filename to instruct libcurl to use that file as
       the Alt-Svc cache to read existing cache contents from and possibly
       also write it back to after a transfer, unless CURLALTSVC_READONLYFILE
       is set in CURLOPT_ALTSVC_CTRL(3).

       Specify a blank filename ("") to make libcurl not load from a file at
       all.

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

       Using this option multiple times makes the last set string override the
       previous ones. Set it to NULL to disable its use again.


SECURITY CONCERNS

       libcurl cannot fully protect against attacks where an attacker has
       write access to the same directory where it is directed to save files.
       This is particularly sensitive if you save files using elevated
       privileges.


DEFAULT

       NULL. The alt-svc cache is not read nor written to file.


PROTOCOLS

       This functionality affects http only


EXAMPLE

       int main(void)
       {
         CURL *curl = curl_easy_init();
         if(curl) {
           curl_easy_setopt(curl, CURLOPT_ALTSVC_CTRL, CURLALTSVC_H1);
           curl_easy_setopt(curl, CURLOPT_ALTSVC, "altsvc-cache.txt");
           curl_easy_perform(curl);
         }
       }


FILE FORMAT

       A text based file with one line per alt-svc entry and each line
       consists of nine space-separated fields.

       An example line could look like

       h2 www.example.com 8443 h3 second.example.com 443 "20190808 06:18:37" 1 0

       The fields of that line are:

       h2     ALPN id for the source origin

       www.example.comp
              Hostname for the source origin

       8443   Port number for the source origin

       h3     ALPN id for the destination host

       second.example.com
              Hostname for the destination host

       443    Port number for the destination host

       2019*  Expiration date and time of this entry within double quotes. The
              date format is "YYYYMMDD HH:MM:SS" and the time zone is GMT.

       1      Boolean (1 or 0) if "persist" was set for this entry

       0      Integer priority value (not currently used)


AVAILABILITY

       Added in curl 7.64.1


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_ALTSVC_CTRL(3), CURLOPT_CONNECT_TO(3), CURLOPT_COOKIEFILE(3),
       CURLOPT_RESOLVE(3)

libcurl                           2025-02-08                 CURLOPT_ALTSVC(3)

curl 8.12.0 - Generated Tue Feb 11 15:46:52 CST 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.