CURLOPT_ALTSVC - Man Page
alt-svc cache file name
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 file name ("") to make libcurl not load from a file at all.
Default
NULL. The alt-svc cache is not read nor written to file.
Protocols
HTTPS
Example
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 8443 h3 second.example 443 "20190808 06:18:37" 1 0
The fields of that line are:
- h2
ALPN id for the source origin
- www.example
Host name for the source origin
- 8443
Port number for the source origin
- h3
ALPN id for the destination host
- second.example
Host name 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 7.64.1
Return Value
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See Also
CURLOPT_ALTSVC_CTRL(3), CURLOPT_CONNECT_TO(3), CURLOPT_RESOLVE(3), CURLOPT_COOKIEFILE(3),
Referenced By
curl_easy_setopt(3), CURLOPT_ALTSVC_CTRL(3), CURLOPT_HSTS(3), CURLOPT_HSTS_CTRL(3), CURLOPT_HTTP_VERSION(3).