Return to libcurl-easy.3 CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / docs / libcurl |
1.1 ! misho 1: .\" ************************************************************************** ! 2: .\" * _ _ ____ _ ! 3: .\" * Project ___| | | | _ \| | ! 4: .\" * / __| | | | |_) | | ! 5: .\" * | (__| |_| | _ <| |___ ! 6: .\" * \___|\___/|_| \_\_____| ! 7: .\" * ! 8: .\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. ! 9: .\" * ! 10: .\" * This software is licensed as described in the file COPYING, which ! 11: .\" * you should have received as part of this distribution. The terms ! 12: .\" * are also available at https://curl.haxx.se/docs/copyright.html. ! 13: .\" * ! 14: .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell ! 15: .\" * copies of the Software, and permit persons to whom the Software is ! 16: .\" * furnished to do so, under the terms of the COPYING file. ! 17: .\" * ! 18: .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY ! 19: .\" * KIND, either express or implied. ! 20: .\" * ! 21: .\" ************************************************************************** ! 22: .TH libcurl 3 "March 23, 2020" "libcurl 7.70.0" "libcurl easy interface" ! 23: ! 24: .SH NAME ! 25: libcurl-easy \- easy interface overview ! 26: .SH DESCRIPTION ! 27: When using libcurl's "easy" interface you init your session and get a handle ! 28: (often referred to as an "easy handle"), which you use as input to the easy ! 29: interface functions you use. Use \fIcurl_easy_init(3)\fP to get the handle. ! 30: ! 31: You continue by setting all the options you want in the upcoming transfer, the ! 32: most important among them is the URL itself (you can't transfer anything ! 33: without a specified URL as you may have figured out yourself). You might want ! 34: to set some callbacks as well that will be called from the library when data ! 35: is available etc. \fIcurl_easy_setopt(3)\fP is used for all this. ! 36: ! 37: \fICURLOPT_URL(3)\fP is only option you really must set, as otherwise there ! 38: can be no transfer. Another commonly used option is \fICURLOPT_VERBOSE(3)\fP ! 39: that will help you see what libcurl is doing under the hood, very useful when ! 40: debugging for example. The \fIcurl_easy_setopt(3)\fP man page has a full index ! 41: of the over 200 available options. ! 42: ! 43: If you at any point would like to blank all previously set options for a ! 44: single easy handle, you can call \fIcurl_easy_reset(3)\fP and you can also ! 45: make a clone of an easy handle (with all its set options) using ! 46: \fIcurl_easy_duphandle(3)\fP. ! 47: ! 48: When all is setup, you tell libcurl to perform the transfer using ! 49: \fIcurl_easy_perform(3)\fP. It will then do the entire operation and won't ! 50: return until it is done (successfully or not). ! 51: ! 52: After the transfer has been made, you can set new options and make another ! 53: transfer, or if you're done, cleanup the session by calling ! 54: \fIcurl_easy_cleanup(3)\fP. If you want persistent connections, you don't ! 55: cleanup immediately, but instead run ahead and perform other transfers using ! 56: the same easy handle. ! 57: .SH "SEE ALSO" ! 58: .BR curl_easy_init "(3)," curl_easy_cleanup "(3)," curl_easy_setopt "(3), " ! 59: .BR libcurl-errors "(3), " libcurl-multi "(3), " libcurl "(3) "