| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- .\" generated by cd2nroff 0.1 from libcurl-easy.md
- .TH libcurl-easy 3 "2025-01-17" libcurl
- .SH NAME
- libcurl\-easy \- easy interface overview
- .SH DESCRIPTION
- When using libcurl\(aqs "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 \fIcurl_easy_init(3)\fP to get the handle.
- You continue by setting all the options you want in the upcoming transfer, the
- most important among them is the URL itself (you cannot transfer anything
- without a specified URL). You might want to set some callbacks as well that
- are called from the library when data is available etc. For example
- \fICURLOPT_WRITEFUNCTION(3)\fP. \fIcurl_easy_setopt(3)\fP is used for all this.
- \fICURLOPT_URL(3)\fP is the only option you really must set, as otherwise there can
- be no transfer. Another commonly used option is \fICURLOPT_VERBOSE(3)\fP that helps
- you see what libcurl is doing under the hood, which is useful when debugging
- for example. The \fIcurl_easy_setopt(3)\fP man page has a full index of the over 300
- available options.
- If you at any point would like to blank all previously set options for a
- single easy handle, you can call \fIcurl_easy_reset(3)\fP and you can also make a
- clone of an easy handle (with all its set options) using
- \fIcurl_easy_duphandle(3)\fP.
- When all is setup, you tell libcurl to perform the transfer using
- \fIcurl_easy_perform(3)\fP. It performs the entire transfer operation and does not
- return until it is done (successfully or not).
- After the transfer has been made, you can set new options and make another
- transfer, or if you are done, cleanup the session by calling
- \fIcurl_easy_cleanup(3)\fP. If you want persistent connections, you do not cleanup
- immediately, but instead run ahead and perform other transfers using the same
- easy handle.
- .SH SEE ALSO
- .BR curl_easy_cleanup (3),
- .BR curl_easy_init (3),
- .BR curl_easy_setopt (3),
- .BR libcurl (3),
- .BR libcurl-errors (3),
- .BR libcurl-multi (3)
|