curl/docs/examples
Michael Kaufmann afff64dbcd curl_easy_recv: Improve documentation and example program
Follow-up to 82245ea: Fix the example program sendrecv.c (handle
CURLE_AGAIN, handle incomplete send). Improve the documentation
for curl_easy_recv() and curl_easy_send().

Reviewed-by: Frank Meier
Assisted-by: Jay Satiro

See https://github.com/curl/curl/pull/1134
2016-12-18 12:56:23 +01:00
..
.gitignore docs/examples: gitignore some more built examples 2015-12-01 09:09:04 +01:00
10-at-a-time.c checksrc: white space edits to comply to stricter checksrc 2016-11-24 23:58:22 +01:00
adddocsref.pl URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
anyauthput.c checksrc: white space edits to comply to stricter checksrc 2016-11-24 23:58:22 +01:00
asiohiper.cpp examples/asiohiper: Avoid function name collision on Windows 2016-02-06 17:04:38 -05:00
cacertinmem.c checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
certinfo.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
chkspeed.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
cookie_interface.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
curlgtk.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
curlx.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
debug.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
evhiperfifo.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
externalsocket.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
fileupload.c examples/fileupload.c: fclose the file as well 2016-11-08 23:00:43 +01:00
fopen.c checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
ftp-wildcard.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
ftpget.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
ftpgetinfo.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
ftpgetresp.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
ftpsget.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
ftpupload.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
ftpuploadresume.c checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
getinfo.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
getinmemory.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
getredirect.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
ghiper.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
hiperfifo.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
href_extractor.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
htmltidy.c docs/examples: remove spurious white spaces all over 2016-04-03 22:52:34 +02:00
htmltitle.cpp examples/htmltitle: Use _stricmp on Windows 2016-02-06 17:02:55 -05:00
http2-download.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
http2-serverpush.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
http2-upload.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
http-post.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
httpcustomheader.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
httpput.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
https.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-append.c examples/imap-append: Set size of data to be uploaded 2016-09-18 02:19:17 -04:00
imap-copy.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-create.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-delete.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-examine.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-fetch.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
imap-list.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-lsub.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-multi.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
imap-noop.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-search.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-ssl.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
imap-store.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-tls.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
Makefile.am make/checksrc: use $srcdir, not $top_srcdir 2016-04-19 08:56:06 +02:00
makefile.dj URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
Makefile.example URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
Makefile.inc URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
Makefile.m32 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
Makefile.netware s/cURL/curl 2016-11-07 10:36:23 +01:00
multi-app.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
multi-debugcallback.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
multi-double.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
multi-post.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
multi-single.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
multi-uv.c s/cURL/curl 2016-11-07 10:36:23 +01:00
multithread.c URLs: change more http to https 2016-02-02 22:29:47 -05:00
opensslthreadlock.c checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
persistant.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-dele.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-list.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-multi.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
pop3-noop.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-retr.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-ssl.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-stat.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-tls.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
pop3-top.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-uidl.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
post-callback.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
postinmemory.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
postit2.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
progressfunc.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
README examples/README: cut out the incomplete list 2015-11-25 10:49:22 +01:00
resolve.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
rtsp.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
sampleconv.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
sendrecv.c curl_easy_recv: Improve documentation and example program 2016-12-18 12:56:23 +01:00
sepheaders.c examples: fix some compiler warnings 2016-02-11 10:21:09 +01:00
sessioninfo.c s/cURL/curl 2016-11-07 10:36:23 +01:00
sftpget.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
simple.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
simplepost.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
simplessl.c simplessl.c: warning: while with space 2016-02-17 15:00:18 +01:00
smooth-gtk-thread.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
smtp-expn.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
smtp-mail.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
smtp-multi.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
smtp-ssl.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
smtp-tls.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
smtp-vrfy.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
synctime.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
threaded-ssl.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
url2file.c docs/examples: remove spurious white spaces all over 2016-04-03 22:52:34 +02:00
usercertinmem.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
version-check.pl URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
xmlstream.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00

                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

This directory is for libcurl programming examples. They are meant to show
some simple steps on how you can build your own application to take full
advantage of libcurl.

If you end up with other small but still useful example sources, please mail
them for submission in future packages and on the web site.

BUILDING

The Makefile.example is an example makefile that could be used to build these
examples. Just edit the file according to your system and requirements first.

Most examples should build fine using a command line like this:

  $ `curl-config --cc --cflags --libs` -o example example.c

Some compilers don't like having the arguments in this order but instead
want you do reorganize them like:

  $ `curl-config --cc` -o example example.c `curl-config --cflags --libs`

*PLEASE* do not use the curl.haxx.se site as a test target for your libcurl
applications/experiments. Even if some of the examples use that site as a URL
at some places, it doesn't mean that the URLs work or that we expect you to
actually torture our web site with your tests!  Thanks.

EXAMPLES

Each example source code file is designed to be and work stand-alone and
rather self-explanatory. The examples may at times lack the level of error
checks you need in a real world, but that is then only for the sake of
readability: to make the code smaller and easier to follow.