diff options
-rw-r--r-- | docs/examples/README | 8 | ||||
-rw-r--r-- | docs/examples/sepheaders.c | 63 | ||||
-rw-r--r-- | docs/examples/simple.c | 26 |
3 files changed, 97 insertions, 0 deletions
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 <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +#include <curl/curl.h> +#include <curl/types.h> +#include <curl/easy.h> + +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 <stdio.h> + +#include <curl/curl.h> +#include <curl/types.h> +#include <curl/easy.h> + +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; +} |