aboutsummaryrefslogtreecommitdiff
path: root/docs/LIBCURL
diff options
context:
space:
mode:
Diffstat (limited to 'docs/LIBCURL')
-rw-r--r--docs/LIBCURL61
1 files changed, 61 insertions, 0 deletions
diff --git a/docs/LIBCURL b/docs/LIBCURL
new file mode 100644
index 000000000..f9564fa5a
--- /dev/null
+++ b/docs/LIBCURL
@@ -0,0 +1,61 @@
+ _ _ _ _
+ | (_) |__ ___ _ _ _ __| |
+ | | | '_ \ / __| | | | '__| |
+ | | | |_) | (__| |_| | | | |
+ |_|_|_.__/ \___|\__,_|_| |_|
+
+
+ How To Use Libcurl In Your Program
+
+Interfaces
+
+ libcurl currently offers two different interfaces to the URL transfer
+ engine. They can be seen as one low-level and one high-level, in the sense
+ that the low-level one will allow you to deal with a lot more details but on
+ the other hand not offer as many fancy features (such as Location:
+ following). The high-level interface is supposed to be a built-in
+ implementation of the low-level interface. You will not be able to mix
+ function calls from the different layers.
+
+ As we currently ONLY support the high-level interface, the so called easy
+ interface, I will not attempt to describe any low-level functions at this
+ point.
+
+Function descriptions
+
+ The interface is meant to be very simple for very simple
+ implementations. Thus, we have minimized the number of entries.
+
+The Easy Interface
+
+ When using the easy interface, you init your easy-session and get a handle,
+ which you use as input to the following interface functions you use.
+
+ You continue by setting all the options you want in the upcoming transfer,
+ most important among them is the URL itself. You might want to set some
+ callbacks as well that will be called from the library when data is available
+ etc.
+
+ When all is setup, you tell libcurl to perform the transfer. It will then do
+ the entire operation and won't return until it is done or failed.
+
+ After the transfer has been made, you cleanup the easy-session's handle and
+ libcurl is entirely off the hook!
+
+ curl_easy_init()
+ curl_easy_setopt()
+ curl_easy_perform()
+ curl_easy_cleanup()
+
+ While the above four functions are the main functions to use in the easy
+ interface, there is a series of helpful functions to use. They are:
+
+ curl_version() - displays the libcurl version
+ curl_getdate() - converts a date string to time_t
+ curl_getenv() - portable environment variable reader
+ curl_formparse() - helps building a HTTP form POST
+ curl_slist_append() - builds a linked list
+ curl_slist_free_all() - frees a whole curl_slist
+
+ Read the separate man pages for these functions for details!
+