curl/docs/examples
Daniel Stenberg 12d01cb6fa CURLOPT_XFERINFOFUNCTION: introducing a new progress callback
CURLOPT_XFERINFOFUNCTION is now the preferred progress callback function
and CURLOPT_PROGRESSFUNCTION is considered deprecated.

This new callback uses pure 'curl_off_t' arguments to pass on full
resolution sizes. It otherwise retains the same characteristics: the
same call rate, the same meanings for the arguments and the return code
is used the same way.

The progressfunc.c example is updated to show how to use the new
callback for newer libcurls while supporting the older one if built with
an older libcurl or even built with a newer libcurl while running with
an older.
2013-07-18 23:44:06 +02:00
..
.gitignore xmlstream: XML stream parsing example source code 2013-05-19 11:19:28 +02:00
10-at-a-time.c
adddocsref.pl
anyauthput.c examples/anyauthput.c: fix Tru64 compilation issue 2012-12-10 15:42:12 +01:00
asiohiper.cpp examples: Updated asiohiper.cpp to remove connect from opensocket 2012-11-25 18:37:07 +01:00
cacertinmem.c
certinfo.c examples/certinfo.c: fix compiler warning 2012-12-29 22:17:06 +01:00
chkspeed.c Added dns and connect time to output. 2013-04-01 14:54:01 +02:00
cookie_interface.c examples: fix compilation issues - commit 7332a7cafb follow-up 2012-12-05 12:59:14 +01:00
curlgtk.c
curlx.c
debug.c Updated date. 2013-01-30 18:14:00 +01:00
evhiperfifo.c evhiperfifo: fix the pointer passed to WRITEDATA 2012-11-01 14:20:58 +01:00
externalsocket.c examples/externalsocket.c: fix SunPro compilation issue 2012-12-10 18:06:35 +01:00
fileupload.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
fopen.c
ftp-wildcard.c
ftpget.c
ftpgetinfo.c examples: fix compilation issues - commit 23f8dca6fb follow-up 2012-12-05 11:43:40 +01:00
ftpgetresp.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
ftpsget.c ftpsget: simple example showing a FTPS fetch 2012-08-27 14:50:09 +02:00
ftpupload.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
ftpuploadresume.c
getinfo.c
getinmemory.c examples/getinmemory.c: abort the transfer if not enough memory 2013-03-09 16:38:18 +01:00
ghiper.c
hiperfifo.c hiperfifo: updated to use current libevent API 2013-03-10 19:46:19 +01:00
href_extractor.c href_extractor.c: fix the URL 2012-10-18 19:42:31 +02:00
htmltidy.c
htmltitle.cpp htmltitle: fix suggested build command 2013-02-10 18:54:56 +01:00
http-post.c Added curl_global_* functions. 2012-07-12 02:02:57 +02:00
httpcustomheader.c httpcustomheader.c: free the headers after use 2012-11-06 11:51:19 +01:00
httpput.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
https.c https.c example: remember to call curl_global_init() 2012-10-01 11:23:51 +02:00
imap.c
Makefile.am curl.h: stricter CURL_EXTERN linkage decorations logic 2013-03-12 00:27:47 +01:00
makefile.dj
Makefile.example
Makefile.inc examples: Moved usercertinmem.c to COMPLICATED_EXAMPLES 2013-07-03 21:13:12 +02:00
Makefile.m32 Updated zlib version in build files. 2013-05-11 17:08:00 +02:00
Makefile.netware Updated zlib version in build files. 2013-05-11 17:08:00 +02:00
multi-app.c examples: use do/while loop for multi examples 2012-08-27 15:10:13 +02:00
multi-debugcallback.c examples: use do/while loop for multi examples 2012-08-27 15:10:13 +02:00
multi-double.c examples: use do/while loop for multi examples 2012-08-27 15:10:13 +02:00
multi-post.c examples: use do/while loop for multi examples 2012-08-27 15:10:13 +02:00
multi-single.c examples/multi-single.c: fix the order of destructions 2013-04-05 13:10:41 +02:00
multi-uv.c multi-uv.c: remove unused variable 2013-03-27 15:39:42 +01:00
multithread.c
opensslthreadlock.c
persistant.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
pop3s.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
pop3slist.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
post-callback.c examples: fix compilation issues - commit 23f8dca6fb follow-up 2012-12-05 11:43:40 +01:00
postit2.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
progressfunc.c CURLOPT_XFERINFOFUNCTION: introducing a new progress callback 2013-07-18 23:44:06 +02:00
README xmlstream: XML stream parsing example source code 2013-05-19 11:19:28 +02:00
resolve.c
rtsp.c examples: fix compilation issues - commit 7332a7cafb follow-up 2012-12-05 12:59:14 +01:00
sampleconv.c
sendrecv.c
sepheaders.c Use opened body.out file and write content to it. 2013-06-20 22:53:37 +02:00
sftpget.c sftpget: SFTP is not "SSH FTP" 2012-08-27 14:42:56 +02:00
simple.c Fixed simple.c to work again unchanged. 2013-01-28 00:42:16 +01:00
simplepost.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
simplesmtp.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
simplessl.c examples/simplessl.c: fix compiler warning 2012-12-11 15:03:17 +01:00
smooth-gtk-thread.c
smtp-multi.c Removed non-used variable. 2012-07-04 22:14:18 +02:00
smtp-tls.c Added error checking for samples. 2012-07-04 17:03:52 +02:00
synctime.c
threaded-ssl.c
url2file.c
usercertinmem.c usercertinmem.c: add example showing user cert in memory 2013-04-18 23:07:15 +02:00
version-check.pl
xmlstream.c xmlstream: XML stream parsing example source code 2013-05-19 11:19:28 +02: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

anyauthput.c   - HTTP PUT using "any" authentication method
cacertinmem.c  - Use a built-in PEM certificate to retrieve a https page
cookie_interface.c - shows usage of simple cookie interface
curlgtk.c      - download using a GTK progress bar
curlx.c        - getting file info from the remote cert data
debug.c        - showing how to use the debug callback
fileupload.c   - uploading to a file:// URL
fopen.c        - fopen() layer that supports opening URLs and files
ftpget.c       - simple getting a file from FTP
ftpgetresp.c   - get the response strings from the FTP server
ftpupload.c    - upload a file to an FTP server
ftpuploadresume.c - resume an upload to an FTP server
getinfo.c      - get the Content-Type from the recent transfer
getinmemory.c  - download a file to memory only
ghiper.c       - curl_multi_socket() using code with glib-2
hiperfifo.c    - downloads all URLs written to the fifo, using
                 curl_multi_socket() and libevent
htmltidy.c     - download a document and use libtidy to parse the HTML
htmltitle.cc   - download a HTML file and extract the <title> tag from a HTML
                 page using libxml
http-post.c    - HTTP POST
httpput.c      - HTTP PUT a local file
https.c        - simple HTTPS transfer
imap.c         - simple IMAP transfer
multi-app.c    - a multi-interface app
multi-debugcallback.c - a multi-interface app using the debug callback
multi-double.c - a multi-interface app doing two simultaneous transfers
multi-post.c   - a multi-interface app doing a multipart formpost
multi-single.c - a multi-interface app getting a single file
multi-uv.c     - a multi-interface app using libuv
multithread.c  - an example using multi-treading transferring multiple files
opensslthreadlock.c - show how to do locking when using OpenSSL multi-threaded
persistant.c   - request two URLs with a persistent connection
pop3s.c        - POP3S transfer
pop3slist.c    - POP3S LIST
post-callback.c - send a HTTP POST using a callback
postit2.c      - send a HTTP multipart formpost
sampleconv.c   - showing how a program on a non-ASCII platform would invoke
                 callbacks to do its own codeset conversions instead of using
                 the built-in iconv functions in libcurl
sepheaders.c   - download headers to a separate file
simple.c       - the most simple download a URL source
simplepost.c   - HTTP POST
simplessl.c    - HTTPS example with certificates many options set
synctime.c     - Sync local time by extracting date from remote HTTP servers
url2file.c     - download a document and store it in a file
xmlstream.c    - Stream-parse a document using the streaming Expat parser
10-at-a-time.c - Download many files simultaneously, 10 at a time.