%{json}: Available --write-out variables​
.
.netrc: Command line leakage, .netrc​
/
/etc/hosts: Host name or address, Edit the hosts file​
<
<curl/curl.h>: include/curl, Include files, curl --libcurl, Header files, Get a simple HTML page, Get a HTML page in memory, Submit a login form over HTTP​
A
--alt-svc: Enable​
--anyauth: HTTP authentication​
apt: Ubuntu and Debian​
Arch Linux: Arch Linux​
B
--basic: HTTP authentication​
BoringSSL: Select TLS backend, Build to use a TLS library, Build curl with boringssl​
C
C89: Comments, Building and installing​
Chrome: SSLKEYLOGFILE, Copy as curl​
clone: Clone the code, git, Web site source code, build boringssl​
code of conduct: Code of conduct​
--compressed: Compression, Gzipped transfers, curl HTTP cheat sheet​
configure: root, Handling different build options, On Linux and Unix-like systems, configure, [set up the build tree to get detected by curl's configure](source/build/boringssl.md#set-up-the-build-tree-to-get-detected-by-curl's-configure)
--connect-timeout: Connection timeout, Never spend more than this to connect​
--connect-to: Provide a replacement name​
connection cache: Persistent connections, Connection reuse, Multi handle​
connection pool: Connection reuse, Connection reuse​
Connection reuse: Connection reuse, Connection reuse​
content-encoding: Compression, Transfer encoding​
contribute: Code of conduct, Contributing​
Contributing: docs, Contributing​
Cookie engine: Cookie engine, Cookie engine​
curl-announce: curl-announce, Vulnerability handling​
curl-library: curl-users, Make a patch for the mailing list, Vulnerability handling​
curl-users: curl-users, Vulnerability handling​
CURLE_ABORTED_BY_CALLBACK: Progress callback​
CURLINFO_CERTINFO: Available information​
CURLINFO_CONTENT_TYPE: Post transfer info​
CURLINFO_EFFECTIVE_URL: Available information​
CURLINFO_FILETIME: Available information​
CURLINFO_TOTAL_TIME_T: Available information​
CURLMOPT_SOCKETFUNCTION: socket_callback​
CURLMOPT_TIMERFUNCTION: timer_callback​
CURLOPT_CLOSEOCKETFUNCTION: Socket close callback​
CURLOPT_COOKIE: Setting custom cookies​
CURLOPT_COOKIEFILE: Submit a login form over HTTP, Enable cookie engine with reading​
CURLOPT_COOKIEJAR: Enable cookie engine with writing​
CURLOPT_COOKIELIST: Add a cookie to the cookie store​
CURLOPT_CURLU: CURLOPT_CURLU​
CURLOPT_CUSTOMREQUEST: Request method​
CURLOPT_DEBUGDATA: Debug callback, Trace everything​
CURLOPT_DEBUGFUNCTION: Debug callback, Trace everything​
CURLOPT_DNS_CACHE_TIMEOUT: Caching​
CURLOPT_DNS_INTERFACE: Name server options​
CURLOPT_DNS_LOCAL_IP4: Name server options​
CURLOPT_DNS_LOCAL_IP6: Name server options​
CURLOPT_DNS_SERVERS: Name server options​
CURLOPT_DNS_USE_GLOBAL_CACHE: No global DNS cache​
CURLOPT_ERRORBUFFER: curl --libcurl, CURLcode return code​
CURLOPT_FAILONERROR: [About HTTP response code "errors"](libcurl-http/responses.md#about-http-response-code-"errors")
CURLOPT_HEADER: Write callback, Referrer, Download headers too​
CURLOPT_HEADERDATA: Header callback, curl --libcurl, Download headers too​
CURLOPT_HEADERFUNCTION: Header callback, curl --libcurl​
CURLOPT_HTTPGET: Submit a login form over HTTP, libcurl HTTP download​
CURLOPT_HTTPHEADER: Add a header​
CURLOPT_IPRESOLVE: Name resolving​
CURLOPT_MAXFILE_LARGE: Setting numerical options​
CURLOPT_MAXREDIRS: curl --libcurl​
CURLOPT_MIMEPOST: HTTP multipart formposts​
CURLOPT_NOBODY: Request method​
CURLOPT_NOPROGRESS: Progress callback, curl --libcurl​
CURLOPT_OPENSOCKETDATA: Provide a file descriptor​
CURLOPT_OPENSOCKETFUNCTION: Provide a file descriptor​
CURLOPT_POST: HTTP POST​
CURLOPT_POSTFIELDS: Submit a login form over HTTP, Request method, HTTP POST​
CURLOPT_POSTFIELDSIZE: HTTP POST​
CURLOPT_POSTREDIR: Decide what method to use in redirects​
CURLOPT_PROGRESSFUNCTION: Progress callback​
CURLOPT_PROXY: Proxy types​
CURLOPT_PROXYPORT: Proxy types​
CURLOPT_PROXYTYPE: Proxy types​
CURLOPT_READDATA: Read callback, curl --libcurl​
CURLOPT_READFUNCTION: Read callback, curl --libcurl, HTTP POST​
CURLOPT_RESOLVE: Custom addresses for hosts​
CURLOPT_SEEKDATA: curl --libcurl​
CURLOPT_SEEKFUNCTION: curl --libcurl​
CURLOPT_SOCKOPTDATA: sockopt callback​
CURLOPT_SOCKOPTFUNCTION: sockopt callback​
CURLOPT_SSH_KNOWNHOSTS: curl --libcurl​
CURLOPT_SSLVERSION: Protocol version​
CURLOPT_SSL_VERIFYHOST: Verification​
CURLOPT_SSL_VERIFYPEER: HTTPS proxy, Verification​
CURLOPT_STDERR: curl --libcurl, Verbose operations​
CURLOPT_TCP_KEEPALIVE: curl --libcurl​
CURLOPT_TIMEOUT: Setting numerical options​
CURLOPT_TLSAUTH_USERNAME: TLS auth​
CURLOPT_UPLOAD: Request method, HTTP PUT​
CURLOPT_USERAGENT: curl --libcurl, Get a HTML page in memory​
CURLOPT_VERBOSE: Verbose operations, Download headers too​
CURLOPT_WRITEDATA: Write callback, curl --libcurl, Get a HTML page in memory​
CURLOPT_WRITEFUNCTION: Write callback, curl --libcurl, Get a HTML page in memory​
CURLOPT_XFERINFODATA: Progress callback​
CURLOPT_XFERINFOFUNCTION: Progress callback​
CURLUPART_FRAGMENT: Get individual URL parts​
CURLUPART_HOST: Get individual URL parts​
CURLUPART_PASSWORD: Get individual URL parts​
CURLUPART_PATH: Get individual URL parts​
CURLUPART_PORT: Get individual URL parts​
CURLUPART_QUERY: Get individual URL parts​
CURLUPART_USER: Get individual URL parts​
curl_easy_getinfo: docs/libcurl/opts, Post transfer info, HTTP responses, Get all cookies from the cookie store​
curl_easy_reset: Reuse!​
curl_easy_setopt: docs/libcurl/opts, Easy handle, Write callback, Read callback, Progress callback, Header callback, Debug callback, sockopt callback, Provide a file descriptor, Name resolving, Sharing between easy handles, curl --libcurl, Set handle options, libcurl TLS options, CURLcode return code, Verbose operations, Get a simple HTML page, Get a HTML page in memory, Submit a login form over HTTP, Request method, HTTP ranges, User name and password, Enable cookie engine with reading, libcurl HTTP download, HTTP POST​
curl_global_cleanup: Global initialization, Get a HTML page in memory​
curl_global_init: Global initialization, Get a HTML page in memory​
CURL_IPRESOLVE_V6: Name resolving​
CURL_MAX_WRITE_SIZE: Write callback​
curl_mime_addpart: HTTP multipart formposts​
curl_mime_filedata: HTTP multipart formposts​
curl_mime_init: HTTP multipart formposts​
curl_mime_name: HTTP multipart formposts​
curl_multi_add_handle: Driving with the multi interface, Many easy handles​
curl_multi_cleanup: Multi API​
curl_multi_fdset: Driving with the multi interface​
curl_multi_info_read: When is a single transfer done?, When is it done?, Multi API​
curl_multi_init: Driving with the multi interface​
curl_multi_remove_handle: Driving with the multi interface, Many easy handles, Multi API​
curl_multi_setopt: docs/libcurl/opts, Driving with the multi interface, socket_callback​
curl_multi_socket_action: socket_callback​
curl_multi_timeout: Driving with the multi interface​
curl_multi_wait: Driving with the multi interface​
curl_off_t: Progress callback, Available information, Setting numerical options, HTTP PUT​
CURL_SOCKET_TIMEOUT: timer_callback​
CURL_SSL_BACKEND: Line 1: TLS versions, Multiple TLS backends​
curl_url: Create, cleanup, duplicate​
curl_url_cleanup: Create, cleanup, duplicate​
curl_url_dup: Create, cleanup, duplicate​
curl_url_get: Get a URL​
curl_url_set: Parse a URL​
curl_version_info: Which libcurl version runs​
D
--data: Arguments to options, Separate options per URL, POST, HTTP POST​
--data-binary: Not perfect, POSTing binary​
--data-urlencode: URL encoding​
debian: Ubuntu and Debian, lib/vtls, Version​
Debug callback: Debug callback, Verbose operations​
environment variables: Default config file, Proxy environment variables, Proxy environment variables​
etiquette: Mailing list etiquette​
event-driven: [Driving with the "multi_socket" interface](libcurl/drive/multi-socket.md#driving-with-the-"multi_socket"-interface), Everything is multi​
F
--fail: Available exit codes, HTTP response codes​
--fail-with-body: HTTP response codes​
Firefox: lib/vtls, Discover your proxy, SSLKEYLOGFILE, Copy as curl, User-agent​
Fragment: Fragment, Anchors or fragments​
--ftp-method: multicwd​
--ftp-pasv: Passive connections​
--ftp-port: Available exit codes, Active connections​
--ftp-skip-pasv-ip: Passive connections​
future: Project communication, Future, docs, [email protected], What other protocols are there?, ["Not used"](usingcurl/returns.md#"not-used"), Cookies, Multiplexing, When QUIC is denied, API compatibility​
G
--get: Convert that to a GET​
Globbing: URL globbing​
GnuTLS: Build to use a TLS library, OCSP stapling, Proxy types​
GOPHERS: What protocols does curl support?, GOPHERS, Supported protocols​
H
--header: Server differences, Proxy headers, Customize headers​
Header callback: Header callback, HTTP responses​
HTTP ranges: HTTP ranges, HTTP ranges​
HTTP redirects: Short options, Available exit codes, HTTP redirects, Submit a login form over HTTP​
HTTP/3 backend: Select HTTP/3 backend​
--http1.1: HTTP versions​
--http2: HTTP versions, HTTP/2​
--http2-prior-knowledge: HTTP versions, HTTP/2​
--http3: HTTP versions, Enable​
HttpGet: How it started​
I
Indentation: Indentation​
IRC: How it started, Project communication​
J
keep-alive: Keep connections alive​
--keepalive-time: Keep alive, Keep connections alive​
L
--libcurl: curl --libcurl​
libcurl version: The latest version?, Line 1: curl, Available exit codes, Which libcurl version​
libidn2: libidn2​
libpsl: libpsl​
libressl: Select TLS backend, Build to use a TLS library​
librtmp: librtmp​
libssh2: libssh2​
license: Finding users, License, root​
--limit-rate: Rate limiting​
--location: Long options, Separate options per URL, Config file, Tell curl to follow redirects​
M
--max-filesize: Maximum filesize​
--max-time: Retrying failed attempts, Maximum time allowed to spend​
MesaLink: Build to use a TLS library​
MIT: License​
MITM-proxies: MITM-proxies​
mTLS: Client certificates​
multi-threading: libcurl multi-threading​
N
--negotiate: Network leakage, HTTP authentication​
--netrc-file: Enable netrc​
--netrc-optional: Enable netrc​
nghttp2: nghttp2, Which libcurl version runs​
nix: nix​
--no-eprt: Active connections​
--no-epsv: Passive connections​
--ntlm: Network leakage, HTTP authentication​
O
openldap: openldap​
PAC: PAC, Which proxy?​
--parallel: Do the transfers in parallel​
--parallel-max: Do the transfers in parallel​
Percent-encoding: URL encoding​
port number: [Connects to "port numbers"](protocols/network.md#connects-to-"port-numbers"), Port number, Available --write-out variables, Provide a replacement name, HTTP, Available exit codes, The URL converted to a request, Enable, Connection reuse, Custom addresses for hosts, Proxies, Post transfer info​
--post301: Decide what method to use in redirects​
--post302: Decide what method to use in redirects​
--post303: Decide what method to use in redirects​
Progress callback: timer_callback, Progress callback​
pronunciation: Pronunciation​
--proxy: HTTP, HTTP authentication​
proxy: How it started, Available --write-out variables, Line 4: Features, [Intermediaries' fiddlings](usingcurl/downloads.md#intermediaries'-fiddlings), Proxies, Available exit codes, CONNECT response codes, HTTP authentication, Proxies, Available information, Verification, HTTP proxy​
--proxy-user: Proxy authentication, HTTP authentication​
--proxy1.0: HTTP proxy tunneling​
--proxytunnel: HTTP proxy tunneling​
R
Read callback: Read callback, HTTP POST​
redhat: Redhat and Centos, lib/vtls​
redirects: Long options, Separate options per URL, Config file, Available --write-out variables, Download to a file named by the URL, Provide a custom IP address for a name, Available exit codes, HTTP redirects, Request method, Redirects, Custom addresses for hosts, Available information, Submit a login form over HTTP, Automatic referrer​
RELEASE-NOTES: scripts​
releases: [1. The cURL project](how-to-read.md#1.-the-curl-project), curl-announce, Releases, scripts, Verbose mode, Which libcurl version​
--remote-name-all: [Use the URL's file name part for all URLs](usingcurl/downloads.md#use-the-url's-file-name-part-for-all-urls)
repository: Releases, Arch Linux, Source code on GitHub, Hosting and download, root, What to add, Web site source code, git vs tarballs​
--resolve: Provide a custom IP address for a name​
RFC 1436: GOPHER​
RFC 1939: POP3​
RFC 1945: HTTP redirects​
RFC 2229: DICT​
RFC 2246: SSL and TLS versions​
RFC 2326: RTSP​
RFC 2595: IMAP​
RFC 2818: HTTPS​
RFC 3207: SMTP​
RFC 3501: IMAP​
RFC 3986: URLs​
RFC 4217: FTPS​
RFC 4511: LDAP​
RFC 5321: SMTP​
RFC 7230: HTTP​
RFC 7540: HTTP​
RFC 7838: Alternative Services​
RFC 8314: IMAPS​
RFC 8446: SSL and TLS versions​
RFC 854: TELNET​
Safari: Copy as curl​
Schannel: Build to use a TLS library, CA store on windows​
Scheme: librtmp, [Connects to "port numbers"](protocols/network.md#connects-to-"port-numbers"), FILE, Scheme, Available --write-out variables, Proxy type, Available exit codes, TLS for emails, Proxy types, Available information, Which libcurl version, Get a HTML page in memory, HTTPS, HTTP authentication, Bindings, [Different protocols "hooked in"](internals.md#different-protocols-"hooked-in")
--show-error: Silence​
--silent: The progress meter, Silence, Error message​
snapshots: Daily snapshots, root​
SNI: Change the Host: header​
--socks4: SOCKS types​
--socks4a: SOCKS types​
--socks5: SOCKS types​
--socks5-hostname: SOCKS types​
--speed-limit: Transfer speeds slower than this means exit​
--speed-time: Transfer speeds slower than this means exit​
SSH backend: Select SSH backend​
SSL context callback: SSL context callback​
SSLKEYLOGFILE: SSLKEYLOGFILE​
STARTTLS: IMAP, TLS for emails, STARTTLS​
T
-T: PUT, Uploading with FTP, HTTP methods, PUT, curl HTTP cheat sheet​
testing: What does curl do?, Reporting bugs, Handling different build options, Contributing, [About HTTP response code "errors"](libcurl-http/responses.md#about-http-response-code-"errors")
TLS: Ubuntu and Debian, lib/vtls, Handling different build options, Select TLS backend, TLS libraries, Build to use a TLS library, TLS, How much do protocols change?, GOPHERS, Connection reuse, Verbose mode, Line 1: curl, Change the Host: header, MITM-proxies, Available exit codes, SCP and SFTP, TLS for emails, Caveats, TLS, SSLKEYLOGFILE, How to HTTP with curl, The URL converted to a request, HTTPS, Figure out what a browser sends, HTTPS only, Proxy types, Available information, libcurl TLS options, Trace everything, HTTPS​
TLS backend: Ubuntu and Debian, lib/vtls, Select TLS backend, Line 1: curl, Certificate pinning​
TODO: Suggestions​
--tr-encoding: Compression, Transfer encoding​
--trace: --trace and --trace-ascii​
--trace-ascii: --trace and --trace-ascii, Server differences, curl HTTP cheat sheet​
--trace-time: --trace-time​
transfer-encoding: Pass on transfer encoding, Chunked encoded POSTs​
U
-U: Proxy authentication​
Ubuntu: Ubuntu and Debian​
URL Globbing: URL globbing​
V
--verbose: Long options, Verbose mode, --trace-time​
--version: Version, Multiple TLS backends​
Vulnerability: Vulnerability handling​
W
wolfSSL: Build to use a TLS library​
Write callback: Write callback, Get a HTML page in memory, HTTP responses​
--write-out: --write-out, HTTP response codes​
X
-X: Request method, PUT, curl HTTP cheat sheet​
Y
yum: Redhat and Centos​
Z
-Z: Do the transfers in parallel​
zlib: zlib​