Skip to content
Snippets Groups Projects
README.libcurl 1.92 KiB
Newer Older
  • Learn to ignore specific revisions
  •                          _ _ _                     _ 
                            | (_) |__   ___ _   _ _ __| |
                            | | | '_ \ / __| | | | '__| |
                            | | | |_) | (__| |_| | |  | |
                            |_|_|_.__/ \___|\__,_|_|  |_|
    
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
                         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.
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    The Easy Interface
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     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.
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     You continue be 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.
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     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.
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     After the performance is made, you cleanup the easy-session's handle and
     libcurl is entire off the hook!
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     See the separate man pages for the libcurl functions for details:
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
            curl_easy_init() 
            curl_easy_setopt() 
            curl_easy_perform() 
            curl_easy_cleanup()