table of contents
- bullseye 7.74.0-1.3+deb11u7
- bullseye-backports 7.88.1-7~bpo11+2
- testing 7.88.1-9
- unstable 7.88.1-10
- experimental 8.0.1-1~exp1
curl_easy_init(3) | libcurl Manual | curl_easy_init(3) |
NAME¶
curl_easy_init - Start a libcurl easy session
SYNOPSIS¶
#include <curl/curl.h> CURL *curl_easy_init();
DESCRIPTION¶
This function must be the first function to call, and it returns a CURL easy handle that you must use as input to other functions in the easy interface. This call MUST have a corresponding call to curl_easy_cleanup(3) when the operation is complete.
If you did not already call curl_global_init(3), curl_easy_init(3) does it automatically. This may be lethal in multi-threaded cases, since curl_global_init(3) is not thread-safe, and it may result in resource problems because there is no corresponding cleanup.
You are strongly advised to not allow this automatic behavior, by calling curl_global_init(3) yourself properly. See the description in libcurl(3) of global environment requirements for details of how to use this function.
EXAMPLE¶
CURL *curl = curl_easy_init(); if(curl) {
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl); }
AVAILABILITY¶
Always
RETURN VALUE¶
If this function returns NULL, something went wrong and you cannot use the other curl functions.
SEE ALSO¶
curl_easy_cleanup(3), curl_global_init(3), curl_easy_reset(3), curl_easy_perform(3)
May 17, 2022 | libcurl 7.87.0 |