Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

curl_easy_perform(3) [mojave man page]

curl_easy_perform(3)						  libcurl Manual					      curl_easy_perform(3)

NAME
curl_easy_perform - perform a blocking file transfer SYNOPSIS
#include <curl/curl.h> CURLcode curl_easy_perform(CURL *easy_handle); DESCRIPTION
Invoke this function after curl_easy_init(3) and all the curl_easy_setopt(3) calls are made, and will perform the transfer as described in the options. It must be called with the same easy_handle as input as the curl_easy_init(3) call returned. curl_easy_perform(3) performs the entire request in a blocking manner and returns when done, or if it failed. For non-blocking behavior, see curl_multi_perform(3). You can do any amount of calls to curl_easy_perform(3) while using the same easy_handle. If you intend to transfer more than one file, you are even encouraged to do so. libcurl will then attempt to re-use the same connection for the following transfers, thus making the opera- tions faster, less CPU intense and using less network resources. Just note that you will have to use curl_easy_setopt(3) between the invokes to set options for the following curl_easy_perform. You must never call this function simultaneously from two places using the same easy_handle. Let the function return first before invoking it another time. If you want parallel transfers, you must use several curl easy_handles. While the easy_handle is added to a multi handle, it cannot be used by curl_easy_perform(3). RETURN VALUE
CURLE_OK (0) means everything was ok, non-zero means an error occurred as <curl/curl.h> defines - see libcurl-errors(3). If the CUR- LOPT_ERRORBUFFER(3) was set with curl_easy_setopt(3) there will be a readable error message in the error buffer when non-zero is returned. EXAMPLE
CURL *curl = curl_easy_init(); if(curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } SEE ALSO
curl_easy_init(3), curl_easy_setopt(3), curl_multi_add_handle(3), curl_multi_perform(3), libcurl-errors(3), libcurl 7.54.0 May 02, 2016 curl_easy_perform(3)

Check Out this Related Man Page

CURLOPT_DEFAULT_PROTOCOL(3)				     curl_easy_setopt options				       CURLOPT_DEFAULT_PROTOCOL(3)

NAME
CURLOPT_DEFAULT_PROTOCOL - default protocol to use if the URL is missing a scheme name SYNOPSIS
#include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEFAULT_PROTOCOL, char *protocol); DESCRIPTION
This option tells libcurl to use protocol if the URL is missing a scheme name. Use one of these protocol (scheme) names: dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp An unknown or unsupported protocol causes error CURLE_UNSUPPORTED_PROTOCOL when libcurl parses a schemeless URL. Parsing happens when curl_easy_perform(3) or curl_multi_perform(3) is called. The protocols supported by libcurl will vary depending on how it was built. Use curl_version_info(3) if you need a list of protocol names supported by the build of libcurl that you are using. This option does not change the default proxy protocol (http). Without this option libcurl would make a guess based on the host, see CURLOPT_URL(3) for details. The application does not have to keep the string around after setting this option. DEFAULT
NULL (make a guess based on the host) PROTOCOLS
All EXAMPLE
curl = curl_easy_init(); if(curl) { /* set a URL without a scheme */ curl_easy_setopt(curl, CURLOPT_URL, "example.com"); /* set the default protocol (scheme) for schemeless URLs */ curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); /* Perform the request */ curl_easy_perform(curl); } AVAILABILITY
Added in 7.45.0 RETURN VALUE
CURLE_OK if the option is supported. CURLE_OUT_OF_MEMORY if there was insufficient heap space. CURLE_UNKNOWN_OPTION if the option is not supported. SEE ALSO
CURLOPT_URL(3), libcurl 7.54.0 December 21, 2016 CURLOPT_DEFAULT_PROTOCOL(3)
Man Page