From 35aa363587f8169f9b1ceec22f5e8f8ebd9da91e Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 20 Sep 2000 22:32:08 +0000 Subject: new libcurl example code stuff --- docs/examples/README | 8 ++++++ docs/examples/sepheaders.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++ docs/examples/simple.c | 26 +++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 docs/examples/README create mode 100644 docs/examples/sepheaders.c create mode 100644 docs/examples/simple.c diff --git a/docs/examples/README b/docs/examples/README new file mode 100644 index 000000000..09e1fa855 --- /dev/null +++ b/docs/examples/README @@ -0,0 +1,8 @@ +EXAMPLES + +This directory is for tiny 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. diff --git a/docs/examples/sepheaders.c b/docs/examples/sepheaders.c new file mode 100644 index 000000000..724e14157 --- /dev/null +++ b/docs/examples/sepheaders.c @@ -0,0 +1,63 @@ +#include +#include +#include + +#include +#include +#include + +size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) +{ + written = fwrite(ptr,size,nmemb,outfile); + return written; +} + +int main(int argc, char **argv) +{ + CURL *curl_handle; + char *headerfilename = "head.out"; + FILE *headerfile; + char *bodyfilename = "body.out"; + FILE *bodyfile; + + /* init the curl session */ + curl_handle = curl_easy_init(); + + /* set URL to get */ + curl_easy_setopt(curl_handle, CURLOPT_URL, "http://curl.haxx.se"); + + /* no progress meter please */ + curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1); + + /* shut up completely */ + curl_easy_setopt(curl_handle, CURLOPT_MUTE, 1); + + /* send all data to this function */ + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data); + + /* open the files */ + headerfile = fopen(headerfilename,"w"); + if (headerfile == NULL) { + curl_easy_cleanup(curl_handle); + return -1; + } + bodyfile = fopen(bodyfilename,"w"); + if (bodyfile == NULL) { + curl_easy_cleanup(curl_handle); + return -1; + } + + /* we want the headers to this file handle */ + curl_easy_setopt(curl_handle, CURLOPT_WRITEHEADER ,headerfile); + + /* get it! */ + curl_easy_perform(curl_handle); + + /* close the header file */ + fclose(headerfile); + + /* cleanup curl stuff */ + curl_easy_cleanup(curl_handle); + + return 0; +} diff --git a/docs/examples/simple.c b/docs/examples/simple.c new file mode 100644 index 000000000..e6138c4e1 --- /dev/null +++ b/docs/examples/simple.c @@ -0,0 +1,26 @@ +#include + +#include +#include +#include + +int main(int argc, char **argv) +{ + CURL *curl; + CURLcode res; + FILE *headerfile; + + headerfile = fopen("dumpit", "w"); + + curl = curl_easy_init(); + if(curl) { + /* what call to write: */ + curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se"); + curl_easy_setopt(curl, CURLOPT_WRITEHEADER, headerfile); + res = curl_easy_perform(curl); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} -- cgit v1.2.3