1                                  _   _ ____  _
2                              ___| | | |  _ \| |
3                             / __| | | | |_) | |
4                            | (__| |_| |  _ <| |___
5                             \___|\___/|_| \_\_____|
6
7This directory is for libcurl programming examples. They are meant to show
8some simple steps on how you can build your own application to take full
9advantage of libcurl.
10
11If you end up with other small but still useful example sources, please mail
12them for submission in future packages and on the web site.
13
14BUILDING
15
16The Makefile.example is an example makefile that could be used to build these
17examples. Just edit the file according to your system and requirements first.
18
19Most examples should build fine using a command line like this:
20
21  $ `curl-config --cc --cflags --libs` -o example example.c
22
23Some compilers don't like having the arguments in this order but instead
24want you do reorganize them like:
25
26  $ `curl-config --cc` -o example example.c `curl-config --cflags --libs`
27
28*PLEASE* do not use the curl.haxx.se site as a test target for your libcurl
29applications/experiments. Even if some of the examples use that site as a URL
30at some places, it doesn't mean that the URLs work or that we expect you to
31actually torture our web site with your tests!  Thanks.
32
33EXAMPLES
34
35anyauthput.c   - HTTP PUT using "any" authentication method
36cacertinmem.c  - Use a built-in PEM certificate to retrieve a https page
37cookie_interface.c - shows usage of simple cookie interface
38curlgtk.c      - download using a GTK progress bar
39curlx.c        - getting file info from the remote cert data
40debug.c        - showing how to use the debug callback
41fileupload.c   - uploading to a file:// URL
42fopen.c        - fopen() layer that supports opening URLs and files
43ftpget.c       - simple getting a file from FTP
44ftpgetresp.c   - get the response strings from the FTP server
45ftpupload.c    - upload a file to an FTP server
46ftpuploadresume.c - resume an upload to an FTP server
47getinfo.c      - get the Content-Type from the recent transfer
48getinmemory.c  - download a file to memory only
49ghiper.c       - curl_multi_socket() using code with glib-2
50hiperfifo.c    - downloads all URLs written to the fifo, using
51                 curl_multi_socket() and libevent
52htmltidy.c     - download a document and use libtidy to parse the HTML
53htmltitle.cc   - download a HTML file and extract the <title> tag from a HTML
54                 page using libxml
55http-post.c    - HTTP POST
56httpput.c      - HTTP PUT a local file
57https.c        - simple HTTPS transfer
58imap.c         - simple IMAP transfer
59multi-app.c    - a multi-interface app
60multi-debugcallback.c - a multi-interface app using the debug callback
61multi-double.c - a multi-interface app doing two simultaneous transfers
62multi-post.c   - a multi-interface app doing a multipart formpost
63multi-single.c - a multi-interface app getting a single file
64multi-uv.c     - a multi-interface app using libuv
65multithread.c  - an example using multi-treading transferring multiple files
66opensslthreadlock.c - show how to do locking when using OpenSSL multi-threaded
67persistant.c   - request two URLs with a persistent connection
68pop3s.c        - POP3S transfer
69pop3slist.c    - POP3S LIST
70post-callback.c - send a HTTP POST using a callback
71postit2.c      - send a HTTP multipart formpost
72sampleconv.c   - showing how a program on a non-ASCII platform would invoke
73                 callbacks to do its own codeset conversions instead of using
74                 the built-in iconv functions in libcurl
75sepheaders.c   - download headers to a separate file
76simple.c       - the most simple download a URL source
77simplepost.c   - HTTP POST
78simplessl.c    - HTTPS example with certificates many options set
79synctime.c     - Sync local time by extracting date from remote HTTP servers
80url2file.c     - download a document and store it in a file
8110-at-a-time.c - Download many files simultaneously, 10 at a time.
82