- .netrc: Command line leakage, .netrc, All easy options,
<features>
- /etc/hosts: Run a local clone, Host, Edit the hosts file
- <curl/curl.h>: include/curl, Header files, Include files, curl --libcurl, Get a simple HTML page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post
- --alt-svc: Enable
- --anyauth: HTTP authentication
- apt: Ubuntu and Debian
- Arch Linux: Arch Linux
- -b: Cookie engine, curl HTTP cheat sheet, Web logins and sessions
- --basic: HTTP authentication
- BearSSL: lib/vtls, Build to use a TLS library,
<features>
- BoringSSL: Build to use a TLS library, Build curl with boringssl, Restrictions
- brotli: HTTP Compression, Version, Which libcurl version runs, About content encodings, Conditional lines
- -c: Writing cookies to file, curl HTTP cheat sheet, Web logins and sessions
- c-ares: c-ares, Line 4: Features, Name resolve tricks with c-ares, Name resolver backends,
CURLRES_ARES
,<features>
- C89: Comments, Build
- CA: Verbose mode, MITM proxy, Available exit codes, Verifying server certificates, OCSP stapling, Verification, All easy options, CA store cache
- Chrome: SSLKEYLOGFILE, Copy as curl
- clone: Building libcurl on MSYS2, Clone the code, git, Web site source code, build boringssl
- code of conduct: Trust, Code of conduct
- --compressed: Compression, Gzipped transfers, curl HTTP cheat sheet
- configure: root, Handling different build options, Platform dependent code, On Linux and Unix-like systems, Autotools, configure, set up the build tree to get detected by curl's configure, Ifdefs, Memory Debugging, Debug builds
- --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, All easy options, Connection cache, connection cache, connectdata
- connection pool: Connection reuse, Persistent connections, Connection reuse, Connection cache, connection cache
- Connection reuse: URLs, Connection reuse, Connection reuse, Connection cache
- content-encoding: Compression, Transfer encoding, About content encodings
- contribute: Code of conduct, Contributing, Introduction
- Contributing: docs, Contributing
- Cookie engine: Cookie engine, Cookie engine
- Cookies: docs, libpsl, Line 4: Features, Server differences, Change the Host: header, Not perfect, HTTP authentication, Cookies, Cookie file format, Cookies, Simple by default, more on demand, Available information, Sharing between easy handles, All easy options, Submit a login form over HTTP, Sections, HTTP authentication, Cookies with libcurl, Cookies, Curl_share,
<features>
- copyright: License, Copyright
- 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
- CURLHSTS_ENABLE: Enable HSTS for a handle
- CURLHSTS_READONLYFILE: Enable HSTS for a handle
- 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_PIPELINING: Multiplexing
- CURLMOPT_SOCKETFUNCTION: socket_callback
- CURLMOPT_TIMERFUNCTION: timer_callback, Exposes just a single timeout to apps
- CURLOPT_ALTSVC: All easy options, Enable
- CURLOPT_ALTSVC_CTRL: All easy options, Enable
- CURLOPT_CLOSESOCKETFUNCTION: Socket close callback, All easy options
- CURLOPT_COOKIE: All easy options, Setting custom cookies
- CURLOPT_COOKIEFILE: All easy options, Submit a login form over HTTP, Enable cookie engine with reading
- CURLOPT_COOKIEJAR: All easy options, Enable cookie engine with writing
- CURLOPT_COOKIELIST: All easy options, Add a cookie to the cookie store
- CURLOPT_CURLU: URL API, CURLOPT_CURLU, All easy options
- CURLOPT_CUSTOMREQUEST: All easy options, Request method
- CURLOPT_DEBUGDATA: Debug callback, All easy options, Trace everything
- CURLOPT_DEBUGFUNCTION: Debug callback, All easy options, Trace everything
- CURLOPT_DNS_CACHE_TIMEOUT: Caching, All easy options, DNS cache
- CURLOPT_DNS_INTERFACE: Name server options, All easy options
- CURLOPT_DNS_LOCAL_IP4: Name server options, All easy options
- CURLOPT_DNS_LOCAL_IP6: Name server options, All easy options
- CURLOPT_DNS_SERVERS: Name server options, All easy options
- CURLOPT_DNS_USE_GLOBAL_CACHE: No global DNS cache, All easy options
- CURLOPT_ERRORBUFFER: curl --libcurl, All easy options, CURLcode return code
- CURLOPT_FAILONERROR: All easy options, About HTTP response code "errors"
- CURLOPT_HEADER: Write callback, All easy options, Referrer, Download headers too
- CURLOPT_HEADERDATA: Header callback, curl --libcurl, All easy options, Download headers too
- CURLOPT_HEADERFUNCTION: Header callback, curl --libcurl, All easy options
- CURLOPT_HSTS: All easy options, Set a HSTS cache file
- CURLOPT_HSTS_CTRL: All easy options, Enable HSTS for a handle
- CURLOPT_HTTPGET: All easy options, Submit a login form over HTTP, libcurl HTTP download
- CURLOPT_HTTPHEADER: All easy options, Non-blocking HTTP form-post, Add a header, HTTP PUT
- CURLOPT_HTTPPOST: All easy options
- CURLOPT_IPRESOLVE: Name resolving, All easy options
- CURLOPT_MAXFILESIZE_LARGE: Set numerical options, All easy options
- CURLOPT_MAXREDIRS: curl --libcurl, All easy options
- CURLOPT_MIMEPOST: All easy options, Non-blocking HTTP form-post, HTTP multipart formposts
- CURLOPT_NOBODY: All easy options, Request method
- CURLOPT_NOPROGRESS: Progress callback, curl --libcurl, All easy options
- CURLOPT_OPENSOCKETDATA: Provide a file descriptor, All easy options
- CURLOPT_OPENSOCKETFUNCTION: Provide a file descriptor, All easy options
- CURLOPT_PIPEWAIT: All easy options, Multiplexing
- CURLOPT_POST: All easy options, HTTP POST
- CURLOPT_POSTFIELDS: Set string options, All easy options, Submit a login form over HTTP, Request method, HTTP POST
- CURLOPT_POSTFIELDSIZE:
CURLOPT_POSTFIELDS
, All easy options, HTTP POST - CURLOPT_POSTREDIR: Decide what method to use in redirects, All easy options
- CURLOPT_PROGRESSFUNCTION: Progress callback, All easy options
- CURLOPT_PROXY: Proxy types, All easy options
- CURLOPT_PROXYPORT: Proxy types, All easy options
- CURLOPT_PROXYTYPE: Proxy types, All easy options
- CURLOPT_READDATA: Read callback, curl --libcurl, All easy options
- CURLOPT_READFUNCTION: Read callback, curl --libcurl, All easy options, HTTP POST
- CURLOPT_RESOLVE: Custom addresses for hosts, All easy options
- CURLOPT_SEEKDATA: seek callback, curl --libcurl, All easy options
- CURLOPT_SEEKFUNCTION: seek callback, curl --libcurl, All easy options
- CURLOPT_SOCKOPTDATA: sockopt callback, All easy options
- CURLOPT_SOCKOPTFUNCTION: sockopt callback, All easy options
- CURLOPT_SSH_KNOWNHOSTS: SSH key callback, curl --libcurl, All easy options
- CURLOPT_SSLVERSION: Protocol version, All easy options
- CURLOPT_SSL_VERIFYHOST: Verification, All easy options
- CURLOPT_SSL_VERIFYPEER: HTTPS proxy, Verification, All easy options
- CURLOPT_STDERR: curl --libcurl, All easy options, Verbose operations
- CURLOPT_TCP_KEEPALIVE: curl --libcurl, All easy options
- CURLOPT_TIMEOUT: Set numerical options, All easy options
- CURLOPT_TLSAUTH_USERNAME: TLS auth, All easy options
- CURLOPT_UPLOAD: All easy options, Request method, HTTP PUT
- CURLOPT_URL: Easy handle, CURLOPT_CURLU, curl --libcurl, Set handle options, Set string options, All easy options, Get a simple HTML page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post, Strings are C strings, not C++ string objects, Request method, Bearer, libcurl HTTP download, HTTP PUT
- CURLOPT_USERAGENT: curl --libcurl, All easy options, Get a response into memory
- CURLOPT_VERBOSE: All easy options, Find a specific option by name, Verbose operations, Non-blocking HTTP form-post, Download headers too
- CURLOPT_WRITEDATA: Write callback, curl --libcurl, All easy options, Get a response into memory, Callback considerations
- CURLOPT_WRITEFUNCTION: Write callback, curl --libcurl, All easy options, Get a response into memory, Callback considerations
- CURLOPT_XFERINFODATA: Progress callback, All easy options
- CURLOPT_XFERINFOFUNCTION: Progress callback, All easy options
- CURLUPART_FRAGMENT: Get individual URL parts, Set individual URL parts
- CURLUPART_HOST:
CURLU_PUNYCODE
, Get individual URL parts, Set individual URL parts - CURLUPART_PASSWORD: Get individual URL parts, Set individual URL parts
- CURLUPART_PATH: Get individual URL parts, Set individual URL parts
- CURLUPART_PORT: Get individual URL parts, Set individual URL parts
- CURLUPART_QUERY: Get individual URL parts, Set individual URL parts, Append to the query
- CURLUPART_USER: Get individual URL parts, Set individual URL parts
- curl_easy_cleanup: easy handle, curl --libcurl, Get a simple HTML page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post, Bearer, Header struct, Enable cookie engine with writing
- curl_easy_getinfo: docs/libcurl/opts, Post transfer info, Response meta-data, Get all cookies from the cookie store
- curl_easy_init: Easy handle, CURLOPT_CURLU, curl --libcurl, Get a simple HTML page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post, Bearer, libcurl HTTP download
- curl_easy_option_by_id: Find a specific option by ID
- curl_easy_option_by_next: Iterate over all options
- curl_easy_perform: Driving with the easy interface, Easy API pool, Caching, curl --libcurl, Get a simple HTML page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Add a header, Bearer, libcurl HTTP download, Everything is multi
- 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, CURLOPT_CURLU, curl --libcurl, Set handle options, Set numerical options, Set string options, libcurl TLS options, All easy options, CURLcode return code, Verbose operations, Get a simple HTML page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post, Strings are C strings, not C++ string objects, Request method, HTTP ranges, User name and password, Enable cookie engine with reading, libcurl HTTP download, HTTP POST, Multiplexing, Enable HSTS for a handle, Enable
- curl_global_cleanup: Global initialization, Get a response into memory, Get an FTP directory listing
- curl_global_init: Global initialization, Get a response into memory, Get an FTP directory listing, Init calls
- CURL_IPRESOLVE_V6: Name resolving
- CURL_MAX_WRITE_SIZE: Write callback
- curl_mime_addpart: Non-blocking HTTP form-post, HTTP multipart formposts
- curl_mime_filedata: Non-blocking HTTP form-post, HTTP multipart formposts
- curl_mime_init: Non-blocking HTTP form-post, HTTP multipart formposts
- curl_mime_name: Non-blocking HTTP form-post, HTTP multipart formposts
- curl_multi_add_handle: Driving with the multi interface, Many easy handles, Non-blocking HTTP form-post, Curl_multi
- curl_multi_cleanup: Multi API, Non-blocking HTTP form-post
- curl_multi_fdset: Driving with the multi interface, Curl_easy
- curl_multi_info_read: When is a single transfer done?, When is it done?, Multi API, Curl_multi
- curl_multi_init: Driving with the multi interface, Non-blocking HTTP form-post
- 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, Multiplexing
- curl_multi_socket_action: socket_callback
- curl_multi_timeout: Driving with the multi interface, Exposes just a single timeout to apps
- curl_multi_wait: Driving with the multi interface
- curl_off_t: Progress callback, seek callback, Available information, Meta,
curl_ws_send()
, Set numerical options, Response meta-data, HTTP PUT - CURL_SOCKET_TIMEOUT: timer_callback
- CURL_SSL_BACKEND: Line 1: TLS versions, Multiple TLS backends
- curl_url: Include files, Create, cleanup, duplicate, Parse a URL, Redirect to a relative URL, Update parts, CURLOPT_CURLU
- curl_url_cleanup: Create, cleanup, duplicate
- curl_url_dup: Create, cleanup, duplicate
- curl_url_get:
CURLU_ALLOW_SPACE
, Get a URL, Get individual URL parts - curl_url_set: Include files, Parse a URL, Redirect to a relative URL, Set individual URL parts, Append to the query, CURLOPT_CURLU
- curl_version_info: Support, Which libcurl version runs
- -d: Arguments to options, Separate options per URL, POST, MQTT, HTTP methods, Simple POST, Content-Type, Posting binary, Convert to GET, Expect 100-continue, Chunked encoded POSTs, Hidden form fields, -d vs -F, HTTP PUT, curl HTTP cheat sheet, Web logins and sessions
- --data: Arguments to options, Separate options per URL, POST, Simple POST, JSON, URL encoding
- --data-binary: Not perfect, Posting binary, URL encoding
- --data-urlencode: URL encoding, Convert to GET
- debian: Ubuntu and Debian, Version
- Debug callback: Debug callback, All easy options, Verbose operations
- development: Project communication, curl-users, Reporting bugs, Commercial support, Development, The development team, Future, Ubuntu and Debian, Get libcurl for macOS, Who decides what goes in?, From Safari, Figure out what a browser sends, Which libcurl version runs, Verification, Tests, Debug builds
- DICT: What protocols does curl support?, DICT, Without scheme, Version, DICT,
CURLU_GUESS_SCHEME
- Edge: Copy as curl, Ifdefs
- environment variables: Windows, Proxies, Proxy environment variables, Proxy environment variables,
<setenv>
- ETag: Conditionals
- --etag-compare: Check by modification of content
- --etag-save: Check by modification of content
- etiquette: Mailing list etiquette
- event-driven: Driving with the "multi_socket" interface, Everything is multi
- -F: multipart formpost, Not perfect, HTTP methods, HTTP POST, Sending such a form with curl, -d vs -F, curl HTTP cheat sheet
- --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: URLs, Fragment, Modify the HTTP request, Anchors or fragments, Write callback, Meta,
curl_ws_send()
- --ftp-method: multicwd
- --ftp-pasv: Passive connections
- --ftp-port: Available exit codes, Active connections
- --ftp-skip-pasv-ip: Passive connections
- FTPS: What protocols does curl support?, FTPS, Build to use a TLS library, Supported schemes, Network leakage, --trace and --trace-ascii, Version, Protocols allowing upload, Enable TLS, FTPS, Variables
- future: Project communication, Future, What other protocols are there?, docs, [email protected], "Not used", Cookies, Network data conversion,
age
, API compatibility, HSTS, Set a timeout
- --get: Convert to GET
- git: Daily snapshots, Building libcurl on MSYS2, Clone the code, root, git, Web site source code, git vs release tarballs, Notes, build boringssl, Continuous Integration (CI), Autobuilds
- Globbing: URL globbing, Uploading with FTP
- GnuTLS: lib/vtls, Select TLS backend, Build to use a TLS library, OCSP stapling, Restrictions, Proxy types,
<features>
- GOPHER: How it started, What protocols does curl support?, GOPHER, Supported schemes, Version, Variables
- GOPHERS: What protocols does curl support?, GOPHERS, Supported schemes, Variables
- --header: Server differences, Proxy headers, JSON, Customize headers
- Header callback: Header callback, All easy options, Response body, Download headers too
- homebrew: Get curl for macOS
- Host:: Verbose mode, --trace and --trace-ascii, Change the Host: header, HTTP protocol basics, The HTTP this generates, Customize headers, Customize HTTP request headers
- HSTS: HTTP Strict Transport Security, Callbacks, HSTS, All easy options, Sections, HSTS, HSTS,
<features>
- --hsts: HSTS cache
- HTTP ranges: HTTP ranges, Sections, HTTP ranges
- HTTP redirects: Short options, Available exit codes, HTTP redirects, Submit a login form over HTTP
- HTTP Strict Transport Security: HTTP Strict Transport Security, HSTS, HSTS
- HTTP/1.1: HTTP, Verbose mode, --trace and --trace-ascii, Debugging with TELNET, HTTP protocol basics, HTTP versions, Caveats, The HTTP this generates, GET or POST?, Modify the request method, Modify request target, HTTP/2, Customize HTTP request headers, HTTP versions, About content encodings
- HTTP/2: HTTP, docs, nghttp2, HTTP/2 and HTTP/3, Line 4: Features, Available exit codes, HTTP versions, HTTP/2 and later, GET or POST?, HTTP/2, HTTP/3, When QUIC is denied, DNS over HTTPS, HTTP versions, Header origins, Expect: headers, Multiplexing, HTTP/3, Different backends, Curl_easy, Variables
- HTTP/3: HTTPS, Select HTTP/3 backend, TCP vs UDP, HTTP/2 and HTTP/3, Line 4: Features, Available exit codes, HTTP versions, HTTP/3, HTTP/3, Which libcurl version runs, HTTP versions, Header origins, Expect: headers, Multiplexing, HTTP/3, Different backends
- HTTP/3 backend: Select HTTP/3 backend
- --http0.9: Accepting HTTP/0.9
- --http1.1: HTTP versions
- --http2: HTTP versions, HTTP/2
- --http2-prior-knowledge: HTTP versions, HTTP/2
- --http3: HTTP versions, Enable
- --http3-only: When QUIC is denied
- HttpGet: How it started
- IDN: libidn2, International Domain Names (IDN), Version,
CURLU_URLENCODE
, Different backends,<features>
- Indentation: Indentation
- IPv4: Host, Port number, Available --write-out variables, Name resolving, All easy options,
host*.c
sources, Variables - IPv6: Host, Port number, URL globbing, Available --write-out variables, Version, Name resolving, Zone ID, All easy options,
CURLRES_IPV6
, Variables - IRC: How it started, Project communication
- JavaScript: Client differences, PAC, HTTP POST, JavaScript and forms, JavaScript redirects, Figure out what the browser does
- --json: JSON
- json: Arguments with spaces, Available --write-out variables, HTTP POST, Content-Type, JSON, POST outside of HTML
- -K: Command lines, quotes and aliases, Config file
- keep-alive: All easy options
- --keepalive-time: Keep alive
- KNOWN_BUGS: Future
- -L: Short options, Available --write-out variables, Tell curl to follow redirects, Modify the request method, Cookie engine, curl HTTP cheat sheet, Redirects
- --libcurl: curl --libcurl
- libcurl version: The latest version?, Line 1: curl, Available exit codes, Network data conversion, Which libcurl version
- libidn2: libidn2
- libpsl: libpsl
- libressl: Build to use a TLS library, Restrictions
- librtmp: librtmp
- libssh: SSH libraries, SCP and SFTP,
<features>
- libssh2: Running DLL based configurations, SSH libraries, SCP and SFTP,
<features>
- license: Finding users, License, root, License
- --limit-rate: Rate limiting
- --location: Long options, Separate options per URL, Config file, Tell curl to follow redirects
- --max-filesize: Maximum filesize
- --max-time: Tweak your retries, Maximum time allowed to spend
- MIT: License
- MQTT: What protocols does curl support?, MQTT, Supported schemes, Line 3: Protocols, MQTT, Variables, Test servers
- mTLS: Client certificates
- multi-threading: libcurl multi-threading
- name resolving: Host name resolving, Handling different build options, Available --write-out variables, Name resolve tricks with c-ares, SOCKS proxy, Connection reuse, Name resolving, Proxy types, Available information, Different backends
- --negotiate: Network leakage, HTTP authentication
- --netrc-file: Enable netrc
- --netrc-optional: Enable netrc
- nghttp2: nghttp2, Which libcurl version runs
- nix: nix
- --no-clobber: Overwriting
- --no-eprt: Active connections
- --no-epsv: Passive connections
- NPN: All easy options
- NSS: Build to use a TLS library, OCSP stapling, Restrictions, Proxy types,
<features>
- --ntlm: Network leakage, HTTP authentication
- -O: Many options and URLs, Numerical ranges, Download to a file named by the URL, Use the target file name from the server, Shell redirects, Multiple downloads, Resuming and ranges, Examples, Authentication, Download, Check by modification date, curl HTTP cheat sheet
- openldap: openldap
- OpenSSL: Get curl and libcurl on MSYS2, lib/vtls, Select TLS backend, Running DLL based configurations, Build to use a TLS library, Available exit codes, OCSP stapling, Restrictions, SSL context callback, Proxy types, Available information, All easy options,
<features>
- PAC: Proxies, PAC, Which proxy?
- --parallel: Parallel transfers, Request rate limiting
- --parallel-immediate: Connection before multiplex
- --parallel-max: Parallel transfers
- --path-as-is: --path-as-is
- Percent-encoding: URL encoding
- pop3: What protocols does curl support?, POP3, Without scheme, Verbose mode, Version, Available exit codes, Reading email, Secure mail transfer, Enable TLS,
CURLU_GUESS_SCHEME
, STARTTLS, Variables, Test servers - port number: Connect to port numbers, URLs, Port number, Available --write-out variables, Connections, Provide a custom IP address for a name, Local port number, HTTP proxy, Available exit codes, Historic TELNET, The URL converted to a request, Converting a web form, Enable, Implicit FTPS, Connection reuse, Prereq, Custom addresses for hosts, Proxies, Post transfer info,
CURLU_DEFAULT_PORT
, Set individual URL parts, All easy options, Alt-Svc, Base64 Encoding - --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, All easy options
- pronunciation: Pronunciation
- proxy: How it started, Available --write-out variables, Line 4: Features, Intermediaries' fiddlings, Proxies, Discover your proxy, PAC, Proxy type, HTTP proxy, SOCKS proxy, MITM proxy, Proxy authentication, HTTPS proxy, Proxy environment variables, Proxy headers, Available exit codes, CONNECT response codes, HTTP authentication, Proxies, Available information, Verification, All easy options, HTTP proxy, Header origins, Variables
- --proxy: HTTP proxy, HTTP authentication
- --proxy-user: Proxy authentication, HTTP authentication
- --proxy1.0: HTTP proxy tunneling
- --proxytunnel: HTTP proxy tunneling
- ranges: Numerical ranges, Downloads, Resuming and ranges, HTTP ranges, Provide a file descriptor, Sections, HTTP response code, HTTP ranges
- --rate: Request rate limiting
- Read callback: Read callback, All easy options
- redhat: Redhat and CentOS
- redirects: Long options, Separate options per URL, Config file, Available --write-out variables, Downloads, Download to a file named by the URL, Shell redirects, Provide a custom IP address for a name, Available exit codes, HTTP redirects, Modify the request method, Redirects, Custom addresses for hosts, Available information, All easy options, Submit a login form over HTTP, Automatic referrer, Request number
- RELEASE-NOTES: scripts
- releases: [1. The cURL project](how-to-read.md#1.-the-curl-project), curl-announce, Releases, scripts, Releases source code, Verbose mode, Which libcurl version
- --remote-name-all: One output for each given URL, Use the URL's file name part for all URLs
- --remove-on-error: Leftovers on errors
- repository: Releases, Source code on GitHub, Arch Linux, Building libcurl on MSYS2, Hosting and download, root, What to add, Web site source code, git vs release tarballs, Notes, Continuous Integration (CI), Autobuilds, Content
- --resolve: Provide a custom IP address for a name
- --retry: Retrying failed attempts, Request rate limiting
- --retry-all-errors: Retry on any and all errors
- --retry-connrefused: Connection refused
- --retry-delay: Tweak your retries
- --retry-max-time: Tweak your retries
- RFC 1436: GOPHER
- RFC 1738: FILE, multicwd
- RFC 1939: POP3
- RFC 1945: HTTP redirects
- RFC 2229: DICT
- RFC 2246: 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: TLS versions
- RFC 854: TELNET
- RFC 959: FTP, FTP with curl, Quote
- roadmap: Future
- RTMP: What protocols does curl support?, RTMP, librtmp, Supported schemes, Version
- RTSP: What protocols does curl support?, RTSP, Supported schemes, Version, Callbacks, RTSP interleave callback, Available information, All easy options, Variables
- rustls: Build to use a TLS library,
<features>
- rustls-ffi: Select TLS backend, Rustls
- Safari: Copy as curl
- Schannel: Build to use a TLS library, CA store on windows,
<features>
- Scheme: Connect to port numbers, FILE, Naming, librtmp, URLs, Scheme, Name and password, TCP vs UDP, Available --write-out variables, Proxy type, SOCKS proxy, Proxy authentication, Available exit codes, TLS for emails, Proxy types, Available information,
CURLU_NON_SUPPORT_SCHEME
,CURLU_DEFAULT_PORT
, WebSocket URLs, Which libcurl version, Get a response into memory, HTTPS, HTTP authentication, Bindings for libcurl, Protocol handler, Curl_handler - SCP: What protocols does curl support?, SCP, SSH libraries, Supported schemes, Version, Protocols allowing upload, Available exit codes, SCP and SFTP, All easy options, Curl_handler,
<server>
- security: curl-announce, Commercial support, Security, Trust, Security, How much do protocols change?, FTPS, docs, Reporting vulnerabilities,
http_proxy
in lower case only, TLS, TLS ciphers, Enable TLS, TLS versions, HTTP with curl, Accepting HTTP/0.9, HTTP Strict Transport Security, HSTS, URL API, WebSocket URLs, Protocol version, All easy options, HTTPS, HSTS - SFTP: What protocols does curl support?, SFTP, SSH libraries, Supported schemes, --trace and --trace-ascii, Version, Protocols allowing upload, Available exit codes, SCP and SFTP, All easy options, Curl_handler,
<server>
, Run a range of tests - --show-error: Silence
- --silent: The progress meter, Silence, Error message
- SMTP: What protocols does curl support?, SMTP, Without scheme, Verbose mode, Version, Protocols allowing upload, Available exit codes, Sending email, Enable TLS,
CURLU_GUESS_SCHEME
, STARTTLS, All easy options, Variables, Test servers - SMTPS: What protocols does curl support?, SMTPS, Build to use a TLS library, Supported schemes, Version, Protocols allowing upload, Enable TLS
- snapshots: Daily snapshots, root
- SNI: Change the Host: header
- --socks4: SOCKS proxy
- --socks4a: SOCKS proxy
- --socks5: SOCKS proxy
- --socks5-hostname: SOCKS proxy
- --speed-limit: Stop slow transfers
- --speed-time: Stop slow transfers
- SSH: SCP, Select SSH backend, SSH libraries, Available exit codes, SCP and SFTP, Historic TELNET, Callbacks, SSH key callback, All easy options, Trace everything, Different backends, Curl_handler, Variables
- SSH backend: Select SSH backend
- SSL context callback: SSL context callback, All easy options
- SSLKEYLOGFILE: TLS, SSLKEYLOGFILE
- STARTTLS: IMAP, TLS for emails, STARTTLS
- -T: PUT, Upload, HTTP methods, HTTP PUT, curl HTTP cheat sheet, Uploading with FTP
- TELNET: What protocols does curl support?, TELNET, Supported schemes, Version, Available exit codes, TELNET, All easy options, Variables
- testing: What does curl do?, Reporting bugs, Handling different build options, Contributing, Run a local clone, About HTTP response code "errors", Debug builds, Test servers, Torture tests
- TFTP: What protocols does curl support?, TFTP, Supported schemes, TCP vs UDP, Version, Protocols allowing upload, Available exit codes, TFTP, All easy options, Variables, Test servers
- --tftp-blksize: TFTP options
- --tftp-no-options: TFTP options
- --time-cond: Check by modification date
- TLS: Security, How much do protocols change?, GOPHERS, Ubuntu and Debian, lib/vtls, Handling different build options, Learn more, Select TLS backend, TLS libraries, Build to use a TLS library, Connection reuse, Verbose mode, Available --write-out variables, Line 1: curl, Change the Host: header, MITM proxy, Available exit codes, SCP and SFTP, TLS for emails, Caveats, TLS, TLS ciphers, Enable TLS, TLS versions, Verifying server certificates, Certificate pinning, OCSP stapling, Client certificates, TLS auth, TLS backends, SSLKEYLOGFILE, HTTP with curl, The URL converted to a request, HTTPS, Figure out what a browser sends, HTTPS only, TLS fingerprinting, FTPS, SSL context callback, Proxy types, Available information, WebSocket URLs, libcurl TLS options, All easy options, Trace everything, Caches, HTTPS, Different backends, connection cache, Variables
- TLS backend: Ubuntu and Debian, lib/vtls, Select TLS backend, Line 1: curl, Available exit codes, TLS, Certificate pinning, Client certificates, TLS backends, SSL context callback
- TODO: Future, Suggestions, Notes
- --tr-encoding: Compression, Transfer encoding
- --trace: --trace and --trace-ascii,
<command [option="no-output/no-include/force-output/binary-trace"] [timeout="secs"][delay="secs"][type="perl/shell"]>
- --trace-ascii: --trace and --trace-ascii, Server differences, curl HTTP cheat sheet,
<command [option="no-output/no-include/force-output/binary-trace"] [timeout="secs"][delay="secs"][type="perl/shell"]>
- --trace-time: --trace-time
- transfer-encoding: Pass on transfer encoding, Chunked encoded POSTs
- -U: Building libcurl on MSYS2, Proxy authentication
- -u: Building libcurl on MSYS2, Passwords and snooping, URLs, IMAP, HTTP authentication, curl HTTP cheat sheet, Authentication
- Ubuntu: Ubuntu and Debian
- URL Globbing: URL globbing
- --verbose: Long options, Verbose mode, --trace-time
- --version: Version, TLS backends, Memory Debugging
- Vulnerability: Vulnerability handling
- Wireshark: --trace and --trace-ascii, Available exit codes, SSLKEYLOGFILE, Figure out what a browser sends
- wolfSSH: SSH libraries, SCP and SFTP,
<features>
- wolfSSL: Commercial support, lib/vtls, Running DLL based configurations, Build to use a TLS library, Restrictions, SSL context callback, All easy options,
<features>
- Write callback: Write callback, 1. The callback approach, Raw mode, Write callback, All easy options, Get a response into memory, Callback considerations
- --write-out: --write-out, Overwriting, HTTP response codes
- -X: Modify the request method, Modify request target, HTTP PUT, curl HTTP cheat sheet
- -x: HTTP proxy, SOCKS proxy, Proxy authentication, Proxy environment variables, Proxy headers, curl HTTP cheat sheet, Proxy environment variables
- yum: Redhat and CentOS