- -b: Cookie engine, Reading cookies from file, Writing cookies to file, New cookie session, Web logins and sessions
- --basic: Authentication
- BearSSL: lib/vtls, TLS libraries,
<features>
- bindings: Confusions and mix-ups, libcurl, the library, In website backends, docs
- BoringSSL: TLS libraries, BoringSSL, Restrictions, HTTP/3 backends
- brotli: HTTP Compression, Version, Which libcurl version runs, About content encodings, Conditional lines
- -c: Writing cookies to file, 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
- CA: Available exit codes, MITM proxy, Verifying server certificates, OCSP stapling, Caches, CA store caching, Verification, All options, Available information, CA store cache
- CA cert cache: CA cert cache
- --ca-native: Native CA stores
- Chrome: Copy as curl, SSLKEYLOGFILE
- clone: Building libcurl on MSYS2, git, Website, build boringssl
- code of conduct: Trust, Code of Conduct
- --compressed: Gzipped transfers, Compression
- --compressed-ssh: For SFTP/SCP
- configure: root, Handling build options, Platform dependent code, Autotools,
rpath
, 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: Connection reuse, Available --write-out variables, Connection cache, All options, Connection reuse, Multi handle, connection cache, connectdata
- connection pool: Connection reuse, Connection cache, pool size, Connection reuse, connection cache
- Connection reuse: Connection reuse, Connection cache, threads, Connection reuse
- content-encoding: Transfer encoding, Compression, About content encodings
- contribute: Code of Conduct, Contributing, Introduction
- Contributing: docs, Contributing
- Cookie engine: Cookie engine, Writing cookies to file, Cookie engine
- Cookies: docs, libpsl, Line 4: Features, Not perfect, Server differences, Change the Host: header, Authentication, Cookie engine, Reading cookies from file, Writing cookies to file, New cookie session, Cookie file format, Cookies, All options, Available information, Authentication, Cookies, Sharing between easy handles, Submit a login form over HTTP, 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
- <curl/curl.h>: include/curl, Header files, --libcurl, Stop slow transfers, Rate limit, Progress meter, Include files, Get a simple HTTP page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post
- CURLE_ABORTED_BY_CALLBACK: Progress information
- CURLHSTS_ENABLE: Enable HSTS for a handle
- CURLHSTS_READONLYFILE: Enable HSTS for a handle
- CURLINFO_CERTINFO: Available information
- CURLINFO_CONN_ID: Transfer and connection identifiers, Available information
- CURLINFO_CONTENT_TYPE: Post transfer info
- CURLINFO_EFFECTIVE_URL: Available information
- CURLINFO_FILETIME: Available information
- CURLINFO_TOTAL_TIME_T: Available information
- CURLINFO_XFER_ID: Transfer and connection identifiers, Available information
- CURLMOPT_PIPELINING: Multiplexing
- CURLMOPT_SOCKETFUNCTION: socket_callback
- CURLMOPT_TIMERFUNCTION: timer_callback, Exposes just a single timeout to apps
- CURLOPT_ALTSVC: All options, Enable
- CURLOPT_ALTSVC_CTRL: All options, Enable
- CURLOPT_CA_CACHE_TIMEOUT: CA cert cache, All options
- CURLOPT_CLOSESOCKETFUNCTION: All options, Socket close callback
- CURLOPT_CONNECTTIMEOUT: All options, easy API
- CURLOPT_COOKIE: All options, Setting custom cookies
- CURLOPT_COOKIEFILE: All options, Enable cookie engine with reading, Submit a login form over HTTP
- CURLOPT_COOKIEJAR: All options, Enable cookie engine with writing
- CURLOPT_COOKIELIST: All options, Add a cookie to the cookie store
- CURLOPT_CURLU: All options, CURLOPT_CURLU
- CURLOPT_CUSTOMREQUEST: All options, Request method
- CURLOPT_DEBUGDATA: Trace everything, All options, Debug
- CURLOPT_DEBUGFUNCTION: Trace everything, All options, Debug
- CURLOPT_DNS_CACHE_TIMEOUT: DNS cache, All options, Caching
- CURLOPT_DNS_INTERFACE: All options, Name server options
- CURLOPT_DNS_LOCAL_IP4: All options, Name server options
- CURLOPT_DNS_LOCAL_IP6: All options, Name server options
- CURLOPT_DNS_SERVERS: All options, Name server options
- CURLOPT_DNS_USE_GLOBAL_CACHE: All options, No global DNS cache
- CURLOPT_ERRORBUFFER: --libcurl, CURLcode return codes, All options
- CURLOPT_FAILONERROR: All options, About HTTP response code "errors"
- CURLOPT_HEADER: All options, Write data, Referrer, Download headers too
- CURLOPT_HEADERDATA: --libcurl, All options, Header data, Download headers too
- CURLOPT_HEADERFUNCTION: --libcurl, All options, Header data
- CURLOPT_HSTS: All options, Set a HSTS cache file
- CURLOPT_HSTS_CTRL: All options, Enable HSTS for a handle
- CURLOPT_HTTPGET: All options, Download, Submit a login form over HTTP
- CURLOPT_HTTPHEADER: All options, Add a header, HTTP PUT, Non-blocking HTTP form-post
- CURLOPT_HTTPPOST: All options
- CURLOPT_IPRESOLVE: All options, How libcurl connects, Name resolving
- CURLOPT_LOCALPORT: All options, Local port number
- CURLOPT_LOCALPORTRANGE: All options, Local port number
- CURLOPT_LOW_SPEED_LIMIT: All options, easy API, Stop slow transfers
- CURLOPT_LOW_SPEED_TIME: All options, easy API, Stop slow transfers
- CURLOPT_MAXFILESIZE_LARGE: Set numerical options, All options
- CURLOPT_MAXREDIRS: --libcurl, All options
- CURLOPT_MIMEPOST: All options, HTTP multipart formposts, Non-blocking HTTP form-post
- CURLOPT_NOBODY: All options, Request method
- CURLOPT_NOPROGRESS: --libcurl, All options, Progress information, Progress meter
- CURLOPT_OPENSOCKETDATA: All options, Provide a file descriptor
- CURLOPT_OPENSOCKETFUNCTION: All options, Provide a file descriptor
- CURLOPT_PIPEWAIT: All options, Multiplexing
- CURLOPT_POST: All options, HTTP POST
- CURLOPT_POSTFIELDS: Set string options, All options, Request method, HTTP POST, Submit a login form over HTTP
- CURLOPT_POSTFIELDSIZE:
CURLOPT_POSTFIELDS
, All options, HTTP POST
- CURLOPT_POSTREDIR: Decide what method to use in redirects, All options
- CURLOPT_PROGRESSFUNCTION: All options, Progress information
- CURLOPT_PROXY: All options, Proxy types
- CURLOPT_PROXYPORT: All options, Proxy types
- CURLOPT_PROXYTYPE: All options, Proxy types
- CURLOPT_READDATA: --libcurl, All options, Read data
- CURLOPT_READFUNCTION: --libcurl, All options, Read data, HTTP POST
- CURLOPT_RESOLVE: All options, Custom addresses for hosts
- CURLOPT_SEEKDATA: --libcurl, All options, Seek and ioctl
- CURLOPT_SEEKFUNCTION: --libcurl, All options, Seek and ioctl
- CURLOPT_SOCKOPTDATA: All options, sockopt
- CURLOPT_SOCKOPTFUNCTION: All options, sockopt
- CURLOPT_SSH_KNOWNHOSTS: --libcurl, All options, SSH key
- CURLOPT_SSLVERSION: Protocol version, All options
- CURLOPT_SSL_VERIFYHOST: Verification, All options
- CURLOPT_SSL_VERIFYPEER: Verification, All options, HTTPS proxy
- CURLOPT_STDERR: --libcurl, Verbose operations, All options
- CURLOPT_TCP_KEEPALIVE: --libcurl, All options, Enable keep alive
- CURLOPT_TCP_KEEPCNT: Probe count
- CURLOPT_TCP_KEEPIDLE: All options, Idle time
- CURLOPT_TCP_KEEPINTVL: All options, Probe interval
- CURLOPT_TIMEOUT: Set numerical options, All options, easy API
- CURLOPT_TLSAUTH_USERNAME: TLS auth, All options
- CURLOPT_UPLOAD: All options, Request method, HTTP PUT
- CURLOPT_URL: --libcurl, Strings are C strings, not C++ string objects, Easy handle, Set string options, All options, Example, Stop slow transfers, Rate limit, Progress meter, Request method, Bearer, Download, HTTP PUT, CURLOPT_CURLU, Get a simple HTTP page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post
- CURLOPT_USERAGENT: --libcurl, All options, Get a response into memory
- CURLOPT_VERBOSE: Verbose operations, All options, Find a specific option by name, When connections are not reused as you want, Download headers too, Non-blocking HTTP form-post
- CURLOPT_WRITEDATA: --libcurl, Callback considerations, All options, Write data, Get a response into memory
- CURLOPT_WRITEFUNCTION: --libcurl, Callback considerations, All options, Write data, Get a response into memory
- CURLOPT_XFERINFODATA: All options, Progress information
- CURLOPT_XFERINFOFUNCTION: All options, Progress information
- CURLUPART_FRAGMENT: Get URL parts, Set URL parts
- CURLUPART_HOST:
CURLU_PUNYCODE
, Get URL parts, Set URL parts
- CURLUPART_PASSWORD: Get URL parts, Set URL parts
- CURLUPART_PATH: Get URL parts, Set URL parts
- CURLUPART_PORT: Get URL parts, Set URL parts
- CURLUPART_QUERY: Get URL parts, Set URL parts, Append to the query
- CURLUPART_USER: Get URL parts, Set URL parts
- curl_easy_cleanup: --libcurl, Stop slow transfers, Rate limit, Progress meter, easy handle, Bearer, Enable cookie engine with writing, Header struct, Get a simple HTTP page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post
- curl_easy_getinfo: docs/libcurl/opts, Transfer and connection identifiers, Post transfer info, Response meta-data, Get all cookies from the cookie store
- curl_easy_init: --libcurl, Easy handle, Example, Stop slow transfers, Rate limit, Progress meter, Bearer, Download, CURLOPT_CURLU, Get a simple HTTP page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post
- curl_easy_option_by_id: Find a specific option by ID
- curl_easy_option_by_next: Iterate over all options
- curl_easy_perform: --libcurl, Drive with easy, Easy API pool, Example, Caching, easy API, Stop slow transfers, Rate limit, Progress meter, Add a header, Bearer, Download, Get a simple HTTP page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Everything is multi
- curl_easy_reset: Reuse
- curl_easy_setopt: docs/libcurl/opts, --libcurl, CURLcode return codes, Verbose operations, Strings are C strings, not C++ string objects, Easy handle, Set numerical options, Set string options, TLS options, All options, Write data, Read data, Progress information, Header data, Debug, sockopt, Provide a file descriptor, Example, Name resolving, Stop slow transfers, Rate limit, Progress meter, Request method, Ranges, Username and password, Enable cookie engine with reading, Download, HTTP POST, Multiplexing, Enable HSTS for a handle, Enable, Sharing between easy handles, CURLOPT_CURLU, Get a simple HTTP page, Get a response into memory, Submit a login form over HTTP, Get an FTP directory listing, Non-blocking HTTP form-post
- 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_global_trace: Trace more
- CURL_IPRESOLVE_V6: Name resolving
- CURL_MAX_WRITE_SIZE: Write data
- curl_mime_addpart: HTTP multipart formposts, Non-blocking HTTP form-post
- curl_mime_filedata: HTTP multipart formposts, Non-blocking HTTP form-post
- curl_mime_init: HTTP multipart formposts, Non-blocking HTTP form-post
- curl_mime_name: HTTP multipart formposts, Non-blocking HTTP form-post
- curl_multi_add_handle: Drive with multi, Many easy handles, Non-blocking HTTP form-post, Curl_multi
- curl_multi_cleanup: Multi API, Non-blocking HTTP form-post
- curl_multi_fdset: Drive with multi, Curl_easy
- curl_multi_info_read: When is a single transfer done?, When is it done?, Multi API, Curl_multi
- curl_multi_init: Drive with multi, Non-blocking HTTP form-post
- curl_multi_remove_handle: Drive with multi, Many easy handles, multi API, Multi API
- curl_multi_setopt: docs/libcurl/opts, Drive with multi, socket_callback, Multiplexing
- curl_multi_socket_action:
curl_multi_socket_action
, socket_callback
- curl_multi_timeout: Drive with multi, Exposes just a single timeout to apps
- curl_multi_wait: Drive with multi
- curl_off_t: Transfer and connection identifiers, Set numerical options, Progress information, Seek and ioctl, Rate limit, Available information, Response meta-data, HTTP PUT, Meta,
curl_ws_send()
- 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 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 URL parts
- curl_url_set: Include files, Parse a URL, Redirect to URL, Set URL parts, Append to the query, CURLOPT_CURLU
- curl_version_info: Which libcurl version runs, Support
- -d: Arguments to options, Separate options per URL, POST, MQTT, Method, Simple POST, Content-Type, Posting binary, Convert to GET, Expect 100-continue, Chunked encoded POSTs, Hidden form fields, -d vs -F, HTTP PUT, Web logins and sessions
- --data: Arguments to options, Separate options per URL, POST, Simple POST, JSON, URL encode data
- --data-binary: Not perfect, Simple POST, Posting binary, URL encode data
- --data-urlencode: Query, URL encode data, Convert to GET
- debian: Ubuntu and Debian, Version
- Debug callback: Verbose operations, All options, Debug
- 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, Converting a web form, Which libcurl version runs, Verification, Debug builds
- DICT: What protocols does curl support?, DICT, Without scheme, Version, DICT,
CURLU_GUESS_SCHEME
- -F: Not perfect, multipart formpost, Method, Sending such a form with curl, -d vs -F
- --fail: Available exit codes, HTTP response codes
- --fail-with-body: HTTP response codes
- Firefox: Copy as curl, Discover your proxy, SSLKEYLOGFILE, User-agent
- Fragment: Query, Fragment, Available --write-out variables, Fragment, 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, TLS libraries, Supported schemes, Network leakage, Version, Trace options, Protocols allowing upload, Enable TLS, FTPS, Variables
- future: Project communication, Future, What other protocols are there?, docs, curl-security@haxx.se, "Not used", More data, API compatibility, Trace more, Network data conversion, HSTS,
age
, Set a timeout
- --get: trurl example command lines, Convert to GET
- git: Daily snapshots, Backdoors and supply chain risks, Building libcurl on MSYS2, root, git, Website, build boringssl, Continuous Integration, Autobuilds
- Globbing: URL globbing, Globbing, Uploading with FTP
- GnuTLS: lib/vtls, Select TLS backend, TLS libraries, Native CA stores, OCSP stapling, Restrictions, HTTP/3 backends,
<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
- Happy Eyeballs: Happy Eyeballs, All options, Happy Eyeballs
- --happy-eyeballs-timeout-ms: Tweak
- haproxy: haproxy, All options
- --haproxy-clientip: curl and haproxy
- --haproxy-protocol: curl and haproxy
- --header: Server differences, Proxy headers, JSON, Customize headers
- Header callback: All options, Header data, Response body, Download headers too
- homebrew: macOS
- Host:: HTTP basics, Trace options, Change the Host: header, The HTTP this generates, Customize headers, Customize HTTP request headers
- --hsts: HSTS cache
- HSTS: HTTPS, HSTS, All options, HSTS, HSTS, HSTS,
<features>
- HTTP proxy: How it started, Proxy type, HTTP proxy, Proxy headers, Authentication, All options, HTTP proxy, Available information,
<proxy [nonewline="yes"]>
- HTTP redirects: Short options, Long options, Available exit codes, Tell curl to follow redirects, Submit a login form over HTTP
- HTTP Strict Transport Security: HSTS, HSTS, HSTS
- HTTP/1.1: HTTP, HTTP basics, Trace options, HTTP/2, Debugging with TELNET, HTTP/2, Caveats, The HTTP this generates, GET or POST?, Request method, Request target, Customize HTTP request headers, Versions, About content encodings
- HTTP/2: HTTP, docs, nghttp2, Line 4: Features, Available exit codes, More data, HTTP/2, HTTP/2, HTTP/3, HTTP/2 and later, GET or POST?, HTTP headers, HTTP/3, Trace more, When connections are not reused as you want, QUIC and HTTP/2, DNS over HTTPS, HTTPS proxy, Versions, Expect: headers, Multiplexing, HTTP/3, Curl_easy, Variables
- HTTP/3: HTTP, Select HTTP/3 backend, QUIC and HTTP/3, TCP vs UDP, Line 4: Features, Available exit codes, More data, HTTP/3 racing, HTTP/3, HTTP headers, HTTP/3, Which libcurl version runs, Trace more, HTTP/3, When connections are not reused as you want, Versions, Expect: headers, Multiplexing, HTTP/3, Different backends
- HTTP/3 backend: Select HTTP/3 backend, HTTP/3 backends
- --http0.9: HTTP/0.9
- --http2: HTTP/2
- --http2-prior-knowledge: HTTP/2
- --http3: HTTP/3 racing, Enable
- --http3-only: When QUIC is denied
- HttpGet: How it started
- HTTPS proxy: Line 4: Features, HTTPS proxy, All options, Local or proxy name lookup
- IDN: libidn2, International Domain Names (IDN), Version,
CURLU_URLENCODE
, Different backends, <features>
- IETF: Protocols, TLS versions
- Indentation: Indentation
- International Domain Names: libidn2, International Domain Names (IDN), Line 4: Features
- IPFS: IPFS
- --ipfs-gateway: Gateway
- IPv4: Host, Port number, Available --write-out variables, Happy Eyeballs, curl and haproxy, All options, How libcurl connects, Name resolving,
host*.c
sources, Variables
- IPv6: Host, Port number, URL globbing, Version, Available --write-out variables, Happy Eyeballs, SOCKS proxy, curl and haproxy, All options, How libcurl connects, Name resolving, Zone ID,
CURLRES_IPV6
, Variables
- IRC: How it started, Project communication
- JavaScript: Client differences, PAC, JavaScript and forms, JavaScript redirects, Figure out what the browser does
- --json: trurl example command lines, JSON
- json: Arguments with spaces, Functions, Available --write-out variables, Content-Type, JSON, POST outside of HTML
- -L: Short options, Available --write-out variables, Tell curl to follow redirects, Request method, Cookie engine, Reading cookies from file, Redirects
- LD_LIBRARY_PATH:
LD_LIBRARY_PATH
- --libcurl: --libcurl
- libcurl version: Line 1: curl, Available exit codes, Which libcurl version, Network data conversion
- libidn2: libidn2
- libpsl: libpsl
- libressl: TLS libraries, Restrictions, HTTP/3 backends
- librtmp: librtmp
- libssh: SSH libraries,
<features>
- libssh2: SSH libraries,
<features>
- license: Finding users, License, root, License
- --limit-rate: Rate limiting
- --location: Long options, Separate options per URL, Syntax, Tell curl to follow redirects
- name resolving: Hostname resolving, Handling 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, Authentication
- .netrc: Command line leakage, .netrc, All options,
.netrc
, <features>
- --netrc-file: Enable netrc
- --netrc-optional: Enable netrc
- nghttp2: nghttp2, Which libcurl version runs
- nix: nix
- --no-clobber: Overwriting, Use the target filename from the server
- --no-eprt: Active connections
- --no-epsv: Passive connections
- --no-keepalive: Keep alive
- NPN: All options
- --ntlm: Network leakage, Authentication
- -O: Many options and URLs, Numerical ranges, Download to a file named by the URL, Use the target filename from the server, Shell redirects, Multiple downloads, Resuming and ranges, Request rate limiting, For SFTP/SCP, Authentication, Download, Check by modification date
- openldap: openldap
- OpenSSL: Get curl and libcurl on MSYS2, lib/vtls, Select TLS backend, TLS libraries, Available exit codes, Native CA stores, OCSP stapling, Restrictions, All options, SSL context, Available information, HTTP/3 backends,
<features>
- --output-dir: Store in another directory
- PAC: PAC, Which proxy?
- --parallel: Parallel transfers, Parallel progress meter, Parallel, Request rate limiting
- --parallel-immediate: Connection before multiplex
- --parallel-max: Parallel transfers
- --path-as-is: --path-as-is
- Percent-encoding: URL encode data
- pop3: What protocols does curl support?, POP3, Without scheme, Version, Available exit codes, Enable TLS, Reading email, Secure mail transfer, STARTTLS,
CURLU_GUESS_SCHEME
, Variables, Test servers
- port number: Connect to port numbers, The URL converted to a request, Port number, trurl example command lines, Available exit codes, Available --write-out variables, Provide a custom IP address for a name, Local port number, HTTP proxy, Historic TELNET, Enable, Converting a web form, Implicit FTPS, All options, Prereq, Local address and port number, Connection reuse, Custom addresses for hosts, Proxies, Post transfer info,
CURLU_DEFAULT_PORT
, Set URL parts, 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: All options, timer_callback, Progress information, easy API, Progress callback
- pronunciation: Pronunciation
- --proxy: HTTP proxy, Authentication
- proxy: How it started, Line 4: Features, Available exit codes, Available --write-out variables, Intermediaries' fiddlings, Discover your proxy, PAC, Proxy type, HTTP proxy, SOCKS proxy, MITM proxy, Proxy authentication, HTTPS proxy, Proxy environment variables, Proxy headers, haproxy, CONNECT response codes, Authentication, Verification, All options, Proxies, Available information, Variables
- --proxy-ca-native: Native CA stores
- --proxy-http2: HTTP/2
- --proxy-user: Proxy authentication, Authentication
- --proxy1.0: HTTP proxy tunneling
- --proxytunnel: HTTP proxy tunneling
- -Q: Quote
- QUIC: Establish a connection, HTTPS, QUIC and HTTP/3, Available exit codes, HTTP/3 racing, Never spend more than this to connect, QUIC, Which libcurl version runs, HTTP/3, Enable keep alive, Authentication, Version 3 can be mandatory, HTTP/3 backends
- --quote: Quote
- ranges: Numerical ranges, Resuming and ranges, A range trick, Ranges, Provide a file descriptor, HTTP response code, Ranges
- --rate: Request rate limiting
- Read callback: make callbacks as fast as possible, All options, Read data, HTTP POST
- redhat: Redhat and CentOS
- redirects: Long options, Separate options per URL, Syntax, Available exit codes, Available --write-out variables, Download to a file named by the URL, Shell redirects, Provide a custom IP address for a name, Captive portals, Redirects, Request method, Redirects, All options, Custom addresses for hosts, Available information, Automatic referrer, Submit a login form over HTTP
- RELEASE-NOTES: scripts
- releases: curl-announce, Releases, Backdoors and supply chain risks, scripts, Which libcurl version
- --remote-name-all: One output for each given URL, Use the URL's filename part for all URLs
- --remove-on-error: Leftovers on errors
- repository: Releases, Backdoors and supply chain risks, Source code on GitHub, Arch Linux, Building libcurl on MSYS2, root, What to add, Website, Continuous Integration, Autobuilds, Content
- --resolve: Provide a custom IP address for a name
- --retry: Available --write-out variables, Retry, 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: 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: Browsers
- RFC 4217: FTPS
- RFC 4511: LDAP
- RFC 5321: SMTP
- RFC 7838: Alternative Services
- RFC 8314: IMAPS
- RFC 8446: TLS versions
- RFC 854: TELNET
- RFC 8999: HTTPS
- RFC 9110: HTTP
- RFC 9112: HTTP
- RFC 9113: HTTP
- RFC 9114: HTTP
- RFC 959: FTP, Quote
- roadmap: Future
- rpath:
rpath
- RTMP: What protocols does curl support?, RTMP, librtmp, Supported schemes, Version
- RTSP: What protocols does curl support?, RTSP, Supported schemes, Version, All options, RTSP interleaved data, Available information, Variables
- rustls: TLS libraries,
<features>
- rustls-ffi: Select TLS backend, Rustls
- Safari: Copy as curl
- Schannel: TLS libraries, Native CA stores, HTTP/3 backends,
<features>
- Scheme: Connect to port numbers, FILE, Naming, librtmp, Scheme, Name and password, TCP vs UDP, Browsers, Available exit codes, Available --write-out variables, Proxy type, SOCKS proxy, Proxy authentication, TLS for emails, Which libcurl version, Proxy types, Available information, Authentication,
CURLU_NON_SUPPORT_SCHEME
, CURLU_DEFAULT_PORT
, URLs, Get a response into memory, Protocol handler, Curl_handler
- SCP: What protocols does curl support?, SCP, SSH libraries, Supported schemes, Version, Available exit codes, Protocols allowing upload, Compression, URLs, Authentication, Known hosts, All options, Authentication, Curl_handler,
<server>
- security: trurl, a URL tool, curl-announce, Commercial support, Security, Trust, Security, How much do protocols change?, FTPS, docs, Reporting vulnerabilities,
http_proxy
in lower case only, TLS, Ciphers, Enable TLS, TLS versions, HTTP/0.9, HSTS, Protocol version, All options, HSTS, Authentication, URLs, HSTS
- SFTP: What protocols does curl support?, SFTP, SSH libraries, Supported schemes, Version, Available exit codes, Trace options, Protocols allowing upload, Compression, URLs, Authentication, Known hosts, All options, Authentication, Curl_handler,
<server>
, Run a range of tests
- --silent: Progress meter, Error message
- SMTP: What protocols does curl support?, SMTP, Without scheme, Version, Available exit codes, Protocols allowing upload, Enable TLS, Sending email, STARTTLS, All options,
CURLU_GUESS_SCHEME
, Variables, Test servers
- SMTPS: What protocols does curl support?, SMTPS, TLS libraries, 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, Authentication, Known hosts, Historic TELNET, Trace everything, All options, SSH key, Authentication, Different backends, Curl_handler, Variables
- SSH backend: Select SSH backend
- SSL context callback: All options
- SSLKEYLOGFILE: TLS, SSLKEYLOGFILE, Figure out what a browser sends
- STARTTLS: IMAP, TLS for emails, STARTTLS
- -T: PUT, Upload, Method, HTTP PUT, Uploading with FTP
- TCP: Establish a connection, How much do protocols change?, DICT, TCP vs UDP, Available exit codes, Available --write-out variables, Connection timeout, HTTP/3 racing, Local port number, Keep alive, Timeouts, HTTP proxy tunneling, MITM proxy, haproxy, TLS, Debugging with TELNET, TFTP, QUIC, HTTPS, Two connections, Connection cache, All options, HTTP/3, Keep alive, connectdata
- TELNET: What protocols does curl support?, TELNET, Supported schemes, Version, Available exit codes, TELNET, All options, Variables
- testing: What does curl do?, Reporting bugs, Handling build options, Contributing, Run a local clone, Separate install, About HTTP response code "errors", Debug builds, Test servers, Torture
- TFTP: What protocols does curl support?, TFTP, Supported schemes, TCP vs UDP, Version, Available exit codes, Protocols allowing upload, TFTP, All 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, The URL converted to a request, Ubuntu and Debian, lib/vtls, Handling build options, Select TLS backend, TLS libraries, TLS libraries, Line 1: curl, Available exit codes, More data, Available --write-out variables, Change the Host: header, Never spend more than this to connect, MITM proxy, TLS, Ciphers, Enable TLS, TLS versions, Verifying server certificates, Certificate pinning, OCSP stapling, Client certificates, TLS auth, TLS backends, SSLKEYLOGFILE, Known hosts, TLS for emails, Caveats, HTTPS only, Figure out what a browser sends, HTTPS, TLS fingerprinting, FTPS, Trace everything, Caches, reuse handles, TLS options, All options, SSL context, HTTP proxy, Authentication, Available information, URLs, Different backends, connection cache, Variables
- TLS backend: Ubuntu and Debian, lib/vtls, Select TLS backend, Line 1: curl, Available exit codes, TLS, Native CA stores, Certificate pinning, OCSP stapling, Client certificates, TLS backends, CA cert cache, CA store caching, SSL context
- TODO: Future, Suggestions
- --tr-encoding: Transfer encoding, Compression
- --trace: Trace options,
<command [option="no-output/no-include/force-output/binary-trace"] [timeout="secs"][delay="secs"][type="perl/shell"]>
- --trace-ascii: Trace options, Server differences,
<command [option="no-output/no-include/force-output/binary-trace"] [timeout="secs"][delay="secs"][type="perl/shell"]>
- --trace-config: More data
- --trace-ids: Identify transfers and connections
- --trace-time: Time stamps
- transfer-encoding: Pass on transfer encoding, Chunked encoded POSTs
- trurl: What does curl do?, trurl
- -U: Building libcurl on MSYS2, Proxy authentication
- -u: Building libcurl on MSYS2, Passwords, URLs, Authentication, IMAP, Authentication
- Ubuntu: Ubuntu and Debian
- URL Globbing: URL globbing
- URL parser: trurl, a URL tool, Browsers, trurl,
CURLU_ALLOW_SPACE
- --url-query: Query
- --variable: Variables
- variables: No assignments in conditions, Output variables for globbing, Config file, Variables, Error message, Write out, Proxy environment variables, Ciphers, Proxy environment variables, Preprocessed
- --verbose: Long options, Time stamps
- --version: Version, TLS backends, Memory debugging
- Vulnerability: Backdoors and supply chain risks, Vulnerability handling
- wcurl: What does curl do?
- Wireshark: Available exit codes, Trace options, SSLKEYLOGFILE, Figure out what a browser sends
- wolfSSH: SSH libraries,
<features>
- wolfSSL: Commercial support, lib/vtls, TLS libraries, Native CA stores, Restrictions, All options, SSL context, HTTP/3 backends,
<features>
- Write callback: make callbacks as fast as possible, Callback considerations, All options, Write data, Response body, 1. The callback approach, Raw mode, Write callback, Get a simple HTTP page, Get a response into memory
- --write-out: Error message, Write out, Overwriting, HTTP response codes