<pclass="level0">When using libcurl's "easy" interface you init your session and get a handle (often referred to as an "easy handle"), which you use as input to the easy interface functions you use. Use <aclass="emphasis"href="./curl_easy_init.html">curl_easy_init(3)</a> to get the handle.
<pclass="level0">You continue by setting all the options you want in the upcoming transfer, the most important among them is the URL itself (you can't transfer anything without a specified URL as you may have figured out yourself). You might want to set some callbacks as well that will be called from the library when data is available etc. <aclass="emphasis"href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> is used for all this.
<pclass="level0">When all is setup, you tell libcurl to perform the transfer using <aclass="emphasis"href="./curl_easy_perform.html">curl_easy_perform(3)</a>. It will then do the entire operation and won't return until it is done (successfully or not).
<pclass="level0">After the transfer has been made, you can set new options and make another transfer, or if you're done, cleanup the session by calling <aclass="emphasis"href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a>. If you want persistent connections, you don't cleanup immediately, but instead run ahead and perform other transfers using the same easy handle.
<pclass="level0"><pclass="roffit">
This HTML page was made with <ahref="http://daniel.haxx.se/projects/roffit/">roffit</a>.