| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- .\" generated by cd2nroff 0.1 from curl_easy_init.md
- .TH curl_easy_init 3 "2025-01-17" libcurl
- .SH NAME
- curl_easy_init \- create an easy handle
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURL *curl_easy_init();
- .fi
- .SH DESCRIPTION
- This function allocates and returns a CURL easy handle. Such a handle is used
- as input to other functions in the easy interface. This call must have a
- corresponding call to \fIcurl_easy_cleanup(3)\fP when the operation is complete.
- The easy handle is used to hold and control a single network transfer. It is
- encouraged to reuse easy handles for repeated transfers.
- An alternative way to get a new easy handle is to duplicate an already
- existing one with \fIcurl_easy_duphandle(3)\fP, which has the upside that it gets
- all the options that were set in the source handle set in the new copy as
- well.
- If you did not already call \fIcurl_global_init(3)\fP before calling this function,
- \fIcurl_easy_init(3)\fP does it automatically. This can be lethal in multi\-threaded
- cases for platforms where \fIcurl_global_init(3)\fP is not thread\-safe, and it may
- then result in resource problems because there is no corresponding cleanup.
- You are strongly advised to not allow this automatic behavior, by calling
- \fIcurl_global_init(3)\fP yourself properly. See the description in \fIlibcurl(3)\fP of
- global environment requirements for details of how to use this function.
- .SH PROTOCOLS
- This functionality affects all supported protocols
- .SH EXAMPLE
- .nf
- int main(void)
- {
- 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);
- }
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.1
- .SH RETURN VALUE
- If this function returns NULL, something went wrong and you cannot use the
- other curl functions.
- .SH SEE ALSO
- .BR curl_easy_cleanup (3),
- .BR curl_easy_duphandle (3),
- .BR curl_easy_perform (3),
- .BR curl_easy_reset (3),
- .BR curl_global_init (3),
- .BR curl_multi_init (3)
|