summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2000-09-20 22:32:08 +0000
committerDaniel Stenberg <daniel@haxx.se>2000-09-20 22:32:08 +0000
commit35aa363587f8169f9b1ceec22f5e8f8ebd9da91e (patch)
tree625d0d9c644eac798d0d15d27ee15780e70061a5
parent7eafb0f3256d7842fc808268a72105c93cdcdfc0 (diff)
downloadgnurl-35aa363587f8169f9b1ceec22f5e8f8ebd9da91e.tar.gz
gnurl-35aa363587f8169f9b1ceec22f5e8f8ebd9da91e.tar.bz2
gnurl-35aa363587f8169f9b1ceec22f5e8f8ebd9da91e.zip
new libcurl example code stuff
-rw-r--r--docs/examples/README8
-rw-r--r--docs/examples/sepheaders.c63
-rw-r--r--docs/examples/simple.c26
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;
+}