Index
.
- .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
- -b: Cookie engine, curl HTTP cheat sheet, Web logins and sessions
- –basic: HTTP authentication
- BoringSSL: Select TLS backend, Build to use a TLS library, Build curl with boringssl ## C
- -c: Writing cookies to file, curl HTTP cheat sheet, Web logins and sessions
- c-ares: c-ares, Name resolve tricks with c-ares, Name resolver backends
- C89: Comments, Building and installing
- CA: Verbose mode, MITM-proxies, Available exit codes, Verifying server certificates, Verification
- 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
- –connect-timeout: Connection timeout, Never spend more than this to connect
- –connect-to: Provide a replacement name
- connection cache: Persistent connections, Connection reuse, Sharing between easy handles
- 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
- Cookies: docs, libpsl, Server differences, Change the Host: header, Not perfect, HTTP authentication, Cookies, Cookies, Simple by default, more on demand, Available information, Sharing between easy handles, Submit a login form over HTTP, HTTP authentication, Cookies with libcurl
- 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
- 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”
- 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_HTTPPOST: HTTP multipart formposts
- CURLOPT_IPRESOLVE: Name resolving
- CURLOPT_MAXFILE_LARGE: Setting numerical options
- CURLOPT_MAXREDIRS: curl –libcurl
- 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_URL: Easy handle, curl –libcurl, Set handle options, Get a simple HTML page, Get a HTML page in memory, Submit a login form over HTTP, Request method, libcurl HTTP download, 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_cleanup: easy handle, curl –libcurl, Get a simple HTML page, Get a HTML page in memory, Submit a login form over HTTP, Enable cookie engine with writing
- curl_easy_init: Easy handle, curl –libcurl, Get a simple HTML page, Get a HTML page in memory, Submit a login form over HTTP, libcurl HTTP download
- curl_easy_perform: Driving with the easy interface, Easy API pool, Caching, curl –libcurl, Get a simple HTML page, Get a HTML page in memory, Submit a login form over HTTP, Add a header, libcurl HTTP download, Everything is multi
- curl_easy_reset: Easy handle
- 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_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, Setting numerical options, HTTP PUT
- CURL_SOCKET_TIMEOUT: timer_callback
- 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
- -d: Arguments to options, Separate options per URL, POST, HTTP methods, HTTP POST, -d vs -F, PUT, curl HTTP cheat sheet, Web logins and sessions
- –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
- Debug callback: Debug callback, Verbose operations
- development: Project communication, curl-users, Reporting bugs, The development team, Future, Ubuntu and Debian, Development, Who decides what goes in?, From Safari, Figure out what a browser sends, Which libcurl version runs, Verification ## E
- environment variables: Default config file, Proxy environment variables, Proxy environment variables
- etiquette: Mailing list etiquette
- event-driven: Driving with the “multi_socket” interface, Everything is multi ## F
- -F: multipart formpost, Not perfect, HTTP methods, Sending such a form with curl, -d vs -F, curl HTTP cheat sheet
- 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, curl-security@haxx.se, What other protocols are there?, “Not used”, Cookies, Multiplexing, When QUIC is denied, API compatibility ## G
- –get: Convert that to a GET
- git: Daily snapshots, Clone the code, root, git, Web site source code, git vs tarballs, build boringssl
- Globbing: URL globbing
- GnuTLS: Build to use a TLS library, OCSP stapling, Proxy types
- Gopher: How it started, What protocols does curl support?, GOPHER, Supported protocols ## H
- –header: Server differences, Proxy headers, Customize headers
- Header callback: Header callback, HTTP responses
- Host:: Verbose mode, –trace and –trace-ascii, Change the Host: header, HTTP protocol basics, The HTTP this generates, Customize headers, Customize HTTP request headers
- HTTP ranges: HTTP ranges, HTTP ranges
- HTTP redirects: Short options, Available exit codes, HTTP redirects, Submit a login form over HTTP
- HTTP/1.1: HTTP, Verbose mode, –trace and –trace-ascii, HTTP protocol basics, HTTP versions, The HTTP this generates, GET or POST?, Request method, HTTP/2, Customize HTTP request headers, HTTP versions
- HTTP/2: docs, nghttp2, HTTP/2, Available exit codes, HTTP versions, GET or POST?, HTTP/2, HTTP/3, DNS over HTTPS, HTTP versions
- HTTP/3: HTTP/3, HTTP/3, HTTP versions
- –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
- IDN: libidn2
- Indentation: Indentation
- IPv4: Host name or address, Available –write-out variables, Name resolving
- IPv6: Host name or address, URL globbing, Available –write-out variables, Name resolving ## J
- JavaScript: Client differences, PAC, JavaScript and forms, JavaScript redirects, Figure out what the browser does
- json: Arguments with spaces, Content-Type, POST outside of HTML ## K
- -K: Command lines, quotes and aliases, Config file
- keep-alive: Keep connections alive
- –keepalive-time: Keep alive, Keep connections alive ## L
- -L: Short options, Available –write-out variables, Tell curl to follow redirects, Request method, Cookie engine, curl HTTP cheat sheet, Redirects
- –libcurl: curl –libcurl
- libcurl version: The latest version?, Available exit codes, Which libcurl version
- libidn2: libidn2
- libmetalink: libmetalink
- 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
- Metalink: Metalink
- –metalink: Metalink
- MIT: License
- MITM-proxies: MITM-proxies
- multi-threading: libcurl multi-threading ## N
- name resolving: Handling different build options, Host name resolving, Available –write-out variables, Name resolve tricks with c-ares, SOCKS types, Connection reuse, Name resolving, Proxy types, Available information, Name resolving
- –negotiate: Network leakage, HTTP authentication
- –netrc-file: Enable netrc
- –netrc-optional: Enable netrc
- nghttp2: nghttp2
- nix: nix
- –no-eprt: Active connections
- –no-epsv: Passive connections
- NSS: Build to use a TLS library, OCSP stapling, Proxy types
- –ntlm: Network leakage, HTTP authentication ## O
- -O: Many options and URLs, Numerical ranges, Download to a file named by the URL, curl HTTP cheat sheet
- openldap: openldap
- OpenSSL: lib/vtls, Select TLS backend, Build to use a TLS library, OCSP stapling, Proxy types, Available information ## P
- PAC: PAC, Which proxy?
- –parallel: Do the transfers in parallel
- –parallel-max: Do the transfers in parallel
- Percent-encoding: URL encoding
- pop3: What protocols does curl support?, POP3, Without scheme, Supported protocols, Verbose mode, Available exit codes, Reading email, Secure mail transfer, Enable TLS, STARTTLS
- port number: 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, 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
- ranges: Numerical ranges, Resuming and ranges, HTTP ranges, Provide a file descriptor, HTTP response code, HTTP ranges
- 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](curl.html), curl-announce, Releases, scripts, Verbose mode, Which libcurl version
- –remote-name-all: 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 1738: FILE, multicwd
- 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: Alternatives
- RFC 8314: IMAPS
- RFC 8446: SSL and TLS versions
- RFC 854: TELNET
- RFC 959: FTP, FTP
- RTMP: librtmp, What protocols does curl support?, RTMP, Supported protocols
- RTSP: What protocols does curl support?, RTSP, Supported protocols, RTSP interleave callback, Available information ## S
- Safari: Copy as curl
- Schannel: Build to use a TLS library, CA store on windows
- Scheme: librtmp, Connects to “port numbers”, FILE, Scheme, Proxy type, Available exit codes, Proxy types, Available information, Which libcurl version, Get a HTML page in memory, HTTPS, HTTP authentication, Bindings, Different protocols “hooked in”
- SCP: libssh2, What protocols does curl support?, SCP, Supported protocols, Protocols allowing upload, Available exit codes, SCP and SFTP
- security: curl-announce, Security, Trust, docs, Reporting vulnerabilities, TLS, How much do protocols change?, FTPS, http_proxy in lower case only, TLS, How to HTTP with curl, URL API, Protocol version, HTTPS
- SFTP: libssh2, What protocols does curl support?, SFTP, Supported protocols, –trace and –trace-ascii, Protocols allowing upload, Available exit codes, SCP and SFTP
- –show-error: Silence
- –silent: The progress meter, Silence, Error message
- SMTP: What protocols does curl support?, SMTP, Without scheme, Supported protocols, Verbose mode, Protocols allowing upload, Available exit codes, SMTP, Enable TLS, STARTTLS
- SMTPS: Build to use a TLS library, What protocols does curl support?, SMTPS, Supported protocols, Protocols allowing upload, Enable TLS
- 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: SCP, Available exit codes, SCP and SFTP, SSH key callback, Trace everything
- SSL context callback: SSL context callback
- SSLKEYLOGFILE: SSLKEYLOGFILE
- STARTTLS: IMAP, STARTTLS ## T
- -T: PUT, Uploading with FTP, HTTP methods, PUT, curl HTTP cheat sheet
- TELNET: What protocols does curl support?, TELNET, Supported protocols, Available exit codes, TELNET
- testing: What does curl do?, Reporting bugs, Handling different build options, Contributing, 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?, Connection reuse, Verbose mode, Change the Host: header, MITM-proxies, Available exit codes, SCP and SFTP, 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
- 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
- -u: Passwords and snooping, Authentication, URLs, HTTP authentication, curl HTTP cheat sheet
- Ubuntu: Ubuntu and Debian
- URL Globbing: URL globbing ## V
- –verbose: Long options, Verbose mode, –trace-time
- Vulnerability: Vulnerability handling ## W
- Wireshark: –trace and –trace-ascii, Available exit codes, SSLKEYLOGFILE, Figure out what a browser sends
- 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
- -x: HTTP, curl HTTP cheat sheet, Proxy environment variables ## Y
- yum: Redhat and Centos ## Z
- -Z: Do the transfers in parallel
- zlib: zlib