The book documenting the curl project, the curl tool, libcurl and everything related to this.
Perl Shell Makefile
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
GUIDELINES.md More cleanup Mar 16, 2017
LAYOUT.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
LICENSE LICENSE: show the correct license Oct 9, 2016
Makefile Makefile: stop generating bogus file name '.md' Oct 7, 2016
README.md urls: use https where available Jun 1, 2018
SUMMARY.md libcurl-names.md: name resolving section to write Dec 10, 2017
bindings.md urls: use https where available Jun 1, 2018
bookindex.md bookindex: regen Mar 14, 2018
building-binary.md Fixed typos Feb 25, 2018
building-boringssl.md More bugfixes and cleanup Mar 16, 2017
building-deps.md urls: use https where available Jun 1, 2018
building-source.md Make requested changes Mar 16, 2017
building-tls.md Fixed typos Feb 25, 2018
building.md Fixed a bunch of typos Oct 7, 2016
callback-conversions.md Minor grammatical and other updates to improve clarity Oct 8, 2016
callback-debug.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
callback-ftpmatch.md callbacks: split off in separate docs Sep 1, 2016
callback-header.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
callback-openclosesocket.md Fixed typos Feb 25, 2018
callback-progress.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
callback-read.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
callback-rtsp.md callbacks: split off in separate docs Sep 1, 2016
callback-seek.md callbacks: split off in separate docs Sep 1, 2016
callback-sockopt.md callback-sockopt: mention return values Jan 24, 2017
callback-sshkey.md callbacks: split off in separate docs Sep 1, 2016
callback-sslcontext.md callbacks: split off in separate docs Sep 1, 2016
callback-write.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
chrome-copy-as-curl.png usingcurl-copyas.md: first version Nov 7, 2016
cmdline-configfile.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
cmdline-globbing.md general: remove '$ ' from command line examples Feb 17, 2017
cmdline-listopts.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
cmdline-options.md cmdline-options.md: two separate short options Jun 22, 2018
cmdline-passwords.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
cmdline-progressmeter.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
cmdline-urls.md style: replace ... with UTF-8 version Sep 22, 2017
cmdline-versions.md cmdline-versions: avoid writing current year, say today Feb 16, 2017
cmdline.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
cover.jpg covers: updated to new logo/look Jun 13, 2016
cover_small.jpg covers: updated to new logo/look Jun 13, 2016
curl-bugs.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
curl-comm.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
curl-devteam.md curl-devteam.md: Marcel and Michael deserve a mention Mar 4, 2018
curl-does.md More cleanup Mar 16, 2017
curl-etiquette.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
curl-future.md More cleanup Mar 16, 2017
curl-logo.jpg curl-logo: the new logo Jun 13, 2016
curl-maillists.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
curl-name.md curl-name.md: prununciation Mar 14, 2018
curl-releases.md Updated a few dates Mar 10, 2018
curl-security.md URLs: daniel/curl/cool.haxx.se are on HTTPS Apr 19, 2016
curl-started.md curl-started.md: language polish Dec 13, 2016
curl-trust.md More cleanup Mar 16, 2017
curl-users.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
curl.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
curlexamples.md all: added "TBD" to empty paragraphs Nov 26, 2015
devgraph-800.png images: recompressed PNG images to reduce size Oct 29, 2016
firefox-cliget.png usingcurl-copyas.md: first version Nov 7, 2016
firefox-copy-as-curl.png usingcurl-copyas.md: first version Nov 7, 2016
firsttbd.sh firsttbd.sh: show the first TBD to fix Jan 12, 2016
ftp-advanced.md A bunch of minor fixes Mar 16, 2017
ftp-traversedir.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
ftp-twoconnections.md Using curl:FTP:Two connections: mention the correct option Jul 6, 2017
how.md More assorted minor fixes Mar 16, 2017
http-auth.md More bugfixes Mar 16, 2017
http-basics.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
http-cheatsheet.md http: Several minor corrections. UserAgent text. Sep 28, 2017
http-cookies.md More bugfixes Mar 16, 2017
http-http2.md More bugfixes Mar 16, 2017
http-https.md Fix typo Feb 6, 2018
http-multipart.md general: remove '$ ' from command line examples Feb 17, 2017
http-post.md Update http-post.md Oct 30, 2017
http-postvspost.md http: Several minor corrections. UserAgent text. Sep 28, 2017
http-put.md More bugfixes Mar 16, 2017
http-ranges.md Make requested changes Mar 16, 2017
http-redirects.md Change "Javascript" to "JavaScript" Mar 16, 2017
http-requests.md Fixed typos Feb 25, 2018
http-response.md Fixed typos Feb 25, 2018
http-versions.md http-versions.md: split out Feb 9, 2017
http.md http: first stab at HTTPS chapter Oct 12, 2017
index-words index-words: added Safari, Pronunciation Mar 14, 2018
internals.md internals: new chapter to write Dec 7, 2015
libcurl--libcurl.md More bugfixes Mar 16, 2017
libcurl-api.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
libcurl-callbacks.md Fixed typos Feb 25, 2018
libcurl-cleanup.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
libcurl-connectionreuse.md libcurl-connectionreuse.md: extended Dec 9, 2017
libcurl-cplusplus.md TODO: libcurl for C++ programmers Nov 12, 2017
libcurl-curlcode.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
libcurl-drive-easy.md Minor grammatical and other updates to improve clarity Oct 25, 2016
libcurl-drive-multi-socket.md style: replace ... with UTF-8 version Sep 22, 2017
libcurl-drive-multi.md libcurl-drive-multi.md: langugae Jun 30, 2017
libcurl-drive.md libcurl-drive.md_ language Jun 30, 2017
libcurl-easyhandle.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
libcurl-getinfo.md libcurl-getinfo.md: polish Feb 23, 2017
libcurl-globalinit.md Minor grammatical and other updates to improve clarity Oct 25, 2016
libcurl-headers.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
libcurl-http-cookies.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
libcurl-http-download.md libcurl-http-download.md: fix typo Jan 29, 2017
libcurl-http-ranges.md More cleanup Mar 16, 2017
libcurl-http-requests.md Fixed typos Feb 25, 2018
libcurl-http-responses.md More cleanup Mar 16, 2017
libcurl-http-upload.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
libcurl-http-versions.md libcurl-http-versions.md: clarified and extended Sep 27, 2017
libcurl-http.md libcurl HTTP versions Dec 26, 2016
libcurl-names.md Fixed typos Feb 25, 2018
libcurl-options.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
libcurl-proxies.md General cleanup of libcurl-proxies.md Mar 16, 2017
libcurl-sharing.md Fixed typos Feb 25, 2018
libcurl-threading.md libcurl-threading.md: Refer to the thread safety webpage May 12, 2017
libcurl-verbose.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
libcurl.md TODO: libcurl for C++ programmers Nov 12, 2017
libcurlexamples.md Fixed typos Feb 25, 2018
lines.sh lines: show all md files sorted by number of lines Jan 12, 2016
mkindex.pl mkindex: ignore case when searching for words in the index Nov 9, 2016
multipart-form.png images: recompressed PNG images to reduce size Oct 29, 2016
one-billion-users.jpg Users of curl: add image Dec 18, 2015
opensource-coc.md opensource: split into subsections Dec 15, 2015
opensource-copyright.md Cleanup opensource-*.md Mar 16, 2017
opensource-devel.md Cleanup opensource-*.md Mar 16, 2017
opensource-license.md Updated a few dates Mar 10, 2018
opensource.md Minor grammatical and other updates to improve clarity Oct 25, 2016
protocols-curl.md Fixed typos Feb 25, 2018
protocols-network.md Fix typo in Which machine section Oct 18, 2017
protocols-protocols.md urls: use https where available Jun 1, 2018
protocols.md Minor grammatical and other updates to improve clarity Oct 29, 2016
safari-copy-as-curl.png copy as curl: with Safari Mar 14, 2018
showall.sh showall: output the entire book (in order) on stdout Jan 12, 2016
sourcecode-contributing.md More bugfixes Mar 16, 2017
sourcecode-layout.md Fixed typos Feb 25, 2018
sourcecode-options.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
sourcecode-reportvuln.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
sourcecode-style.md Add missing `of` Feb 3, 2018
sourcecode-web.md Avoid colloquial contractions like it'll, must've, might've, should've Dec 17, 2016
sourcecode.md Overall edits to make the book better follow the style guidelines Oct 29, 2016
stats.sh stats: support numbers in markdown file names Sep 1, 2016
tbd.sh tbd: supper numbers in file names Sep 1, 2016
usingcurl-connections.md Fixed typos Feb 25, 2018
usingcurl-copyas.md copy as curl: with Safari Mar 14, 2018
usingcurl-debug.md usingcurl: split into a bunch of subsections Dec 8, 2015
usingcurl-downloads.md Update usingcurl-downloads.md Oct 27, 2017
usingcurl-ftp.md urls: use https where available Jun 1, 2018
usingcurl-netrc.md Bugfixes to usingcurl-*.md Mar 16, 2017
usingcurl-persist.md usingcurl-persist.md: split out "persistent connections" Dec 25, 2016
usingcurl-proxies.md usingcurl-proxies.md: curl supports HTTPS to the proxy now Mar 22, 2018
usingcurl-reademail.md rename imap+pop3 file to readmail Sep 27, 2017
usingcurl-returns.md usingcurl-returns.md: Update the last error code Mar 20, 2018
usingcurl-scpsftp.md Update usingcurl-scpsftp.md Oct 30, 2017
usingcurl-smtp.md Bugfixes to usingcurl-*.md Mar 16, 2017
usingcurl-telnet.md more protocol-specific chapters to write Dec 18, 2015
usingcurl-timeouts.md usingcurl-timeouts.md: mention that locales may change the decimal dot Mar 25, 2018
usingcurl-tls.md Updated a few dates Mar 10, 2018
usingcurl-uploads.md SMTP uploads: Make the example a code block Mar 24, 2017
usingcurl-verbose.md Bugfixes to usingcurl-*.md Mar 16, 2017
usingcurl.md usingcurl-persist.md: split out "persistent connections" Dec 25, 2016

README.md

Introduction

Everything curl is an extensive guide to everything there is to know about curl, the project, the command-line tool, the library, how everything started and how it came to be what it is today. How we work on developing it further, what it takes to use it, how you can contribute with code and bug reports and why all those millions of existing users use it.

This book is meant to be interesting and useful to both casual readers and the somewhat more experienced developers, and offers something for you all to pick and choose from. Don't read it from front to back. Read the chapters you are curious about and go back and forth as you see fit.

I hope to run this book project as I do all other projects I work on: in the open, completely free to download and read, free for anyone to comment on, available for everyone to contribute to and help out with. Send your bug reports, pull requests or critiques to me and I will improve this book accordingly.

This book will never be finished. I intend to keep working on it and while I may at some point in time consider it fairly complete and covering most aspects of the project (even if only that seems like an insurmountable goal), the curl project will continue to move so there will always be things to update in the book as well.

This book project started at the end of September 2015.

The book sites

https://bookcurl.haxx.se is the home of this book. It features easy accessible links to read the book online in a web version or download a copy for offline reading using one of the many different versions offered, including PDF, ePUB and MOBI.

https://ec.haxx.se is a shortcut to the HTML version of the book.

https://github.com/bagder/everything-curl hosts all the book content.

The author

With the hope of becoming just a co-author of this material, I am Daniel Stenberg. I founded the curl project. I'm a developer at heart, for fun and profit. I live and work in Stockholm, Sweden.

All there is to know about me can be found on my web site.

Help!

If you find mistakes, omissions, errors or blatant lies in this document, please send me a refreshed version of the affected paragraph and I will make amended versions. I will give proper credits to everyone who helps out! I hope to make this document better over time.

Preferably, you submit errors or pull requests on the book's github page.

License

This document is licensed under the Creative Commons Attribution 4.0 license.