#include "_doctype.html" libcurl - source code examples #include "css.t" #define LIBCURL_EXAMPLE #define CURL_URL libcurl/c/example.html #include "_menu.html" #include "setup.t" WHERE3(libcurl, "/libcurl/", API, "/libcurl/c/", Example Source Codes) TITLE(libcurl - small example snippets)
SUBTITLE(All Examples) Written in C unless specifically mentioned:

#include "allex.t"

We're gathering libcurl example source codes here. Please submit yours!

NOTE: These files are intended as examples only. In the interest of simplicity and clarity, they might not include proper error handling and might produce compiler warnings on some platforms. Real-world applications should pay more attention to these issues.

allexamples.zip contains all the example sources, some 90+ separate stand-alone files.

You can also see a list of all libcurl easy options and which example source codes that use them. SUBTITLE(Some of the Examples)

simple HTTP
simple.c shows how to get a remote web page in only four libcurl function calls.

simple HTTPS
https.c gets a single HTTPS page, while simplessl.c shows how to get a remote https page and a set of various SSL-controlling options.

get HTTP with headers separate
sepheader.c gets a web page and stores the response-headers in a separate file.

simple FTP
ftpget.c proves that getting a FTP file is just as simple.

FTP upload
ftpupload.c uploads a local file to a remote FTP server. It also renames the file after succcessful transfer.

get a remote file in memory only
getinmemory.c describes how you can use the callback system to fetch documents into a ram buffer with no file writing necessary.

HTTP PUT
httpput.c makes PUTs a local file to a HTTP server.

HTTP form POST
postit2.c shows how to build a RFC1867-style form post and send it to a HTTP server.

persistant transfers
persistant.c shows that just getting files in a sequential manner will make it use persistant connections if the remote server supports it.

multithreaded URL fetches
multithread.c starts a number of threads and retrieves one URL in each thread. This requires a working thread library.

URL fetch with GTK progress bar
curlgtk.c uses GTK and the libcurl progress callback to show a GUI progress bar while downloading.

fopen() URL
fopen.c shows how you could write an fopen()-style emulation layer to easily make your program read URLs instead of local files.

nonblocking multipart formpost
multi-post.c makes a multipart formpost using the multi interface, which makes it a non-blocking operation.

debug callback
debug.c shows how you can use the debug callback to get a full trace of all protocol data being sent/received (and more).

HTML parsing
htmltitle.cc shows how to use libxml to parse HTML retrieved with libcurl.

Using CURLOPT_SSL_CTX_FUNCTION
curlx.c uses CURLOPT_SSL_CTX_FUNCTION to set a custom callback to deal with an OpenSSL SSL_CTX * at SSL handshake time.

Doing SOAP with libcurl
SOAP example by vivtek.com [offsite]

You'll also find these examples in the distribution archive, in the docs/examples directory.

#include "_footer.html"