CURLOPT_ALTSVC - Man Page
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.
Default
NULL. The alt-svc cache is not read nor written to file.
Protocols
HTTP
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 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_COOKIEFILE(3), CURLOPT_RESOLVE(3)
Referenced By
curl_easy_setopt(3), CURLOPT_ALTSVC_CTRL(3), CURLOPT_HSTS(3), CURLOPT_HSTS_CTRL(3), CURLOPT_HTTP_VERSION(3), libcurl-symbols(3).