How to read this book The cURL project How it started The name What does curl do? Project communication Mailing list etiquette Mailing lists Reporting bugs Releases Security Trust The development team Users of curl Future Open Source License Copyright and Legal Code of Conduct Development The source code Code layout Handling build options Code style Contributing Reporting vulnerabilities Web site Network and protocols Networking simplified Protocols curl protocols Command line basics Command line options Options depend on version URLs URL globbing List options Config file Passwords Progress meter Using curl Verbose Persistent connections Downloads Uploads Connections Timeouts .netrc Proxies Exit status FTP Two connections Directory traversing Advanced FTP use SCP and SFTP IMAP and POP3 SMTP TELNET TLS Debug Copy as curl curl examples How to HTTP with curl Protocol basics Responses Authentication Ranges HTTP versions HTTPS HTTP POST Multipart formposts -d vs -F Redirects Modify the HTTP request HTTP PUT Cookies HTTP/2 HTTP cheat sheet Building and installing Installing prebuilt binaries Build from source Dependencies TLS libraries BoringSSL libcurl basics Easy handle Drive transfers Drive with easy Drive with multi Drive with multi_socket Connection reuse Callbacks Write data Read data Progress information Header data Debug sockopt SSL context Seek and ioctl Network data conversion Opensocket and closesocket SSH key RTSP interleaved data FTP matching Cleanup Proxies Post transfer info API compatibility --libcurl Header files Global initialization multi-threading curl easy options CURLcode return codes Verbose operations libcurl examples HTTP with libcurl HTTP responses HTTP requests HTTP versions HTTP ranges Cookies with libcurl Download Upload Bindings libcurl internals Index