1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 16:18:48 -05:00
curl/docs/examples
Dirk Manske 5fb4279ec7 multi & hiper examples: updates and cleanups
all multi and hiper examples:

* don't loop curl_multi_perform calls, that was <7.20.0 style, currently
  the exported multi functions will not return CURLM_CALL_MULTI_PERFORM

all hiper examples:
* renamed check_run_count to check_multi_info
* don't  compare current running handle count with previous value, this
  was the wrong way to check for finished requests, simply call
  curl_multi_info_read
* it's also safe to call curl_multi_remove_handle inside the
  curl_multi_info_read loop.

ghiper.c:
* replaced curl_multi_socket (that function is marked as obsolete) calls
  with curl_multi_socket_action calls (as in hiperfifo.c and
  evhiperfifo.c)

ghiper.c and evhiperfifo.c:
* be smart as hiperfifo.c, don't do uncessary curl_multi_* calls in
  new_conn and main
2010-09-30 22:20:52 +02:00
..
.gitignore .gitignore: ignore all built examples 2010-08-02 23:47:44 +02:00
10-at-a-time.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
adddocsref.pl add URLs in comments for all libcurl function calls 2004-11-22 13:39:23 +00:00
anyauthput.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
cacertinmem.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
certinfo.c - Introducing CURLOPT_CERTINFO and the corresponding CURLINFO_CERTINFO. By 2008-09-05 14:29:21 +00:00
chkspeed.c example: fix code to build warning-free 2010-08-02 23:46:24 +02:00
cookie_interface.c removed trailing whitespace 2010-02-14 19:40:18 +00:00
curlgtk.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
curlx.c removed trailing whitespace 2010-02-14 19:40:18 +00:00
debug.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
evhiperfifo.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
fileupload.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
fopen.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
ftp-wildcard.c examples: new FTP wildcard showcase 2010-06-24 23:41:09 +02:00
ftpget.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
ftpgetinfo.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
ftpgetresp.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
ftpupload.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
ftpuploadresume.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
getinfo.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
getinmemory.c getinmemory: make the example easier to follow 2010-09-14 22:52:04 +02:00
ghiper.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
hiperfifo.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
htmltidy.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
htmltitle.cc remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
http-post.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
httpcustomheader.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
httpput.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
https.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
Makefile.am remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
makefile.dj remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
Makefile.example remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
Makefile.inc examples: new FTP wildcard showcase 2010-06-24 23:41:09 +02:00
Makefile.m32 remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
multi-app.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
multi-debugcallback.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
multi-double.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
multi-post.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
multi-single.c multi & hiper examples: updates and cleanups 2010-09-30 22:20:52 +02:00
multithread.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
opensslthreadlock.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
persistant.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
post-callback.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
postit2.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
README Remove remaining traces of ftp3rdparty.c and mention htmltidy.c 2007-09-13 20:36:52 +00:00
sampleconv.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
sendrecv.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
sepheaders.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
simple.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
simplepost.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
simplessl.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
smooth-gtk-thread.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
synctime.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
threaded-ssl.c remove the CVSish $Id$ lines 2010-03-24 11:02:54 +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

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
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
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
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
10-at-a-time.c - Download many files simultaneously, 10 at a time.