curl_easy_init(3) libcurl 手册 curl_easy_init(3)
名字
curl_easy_init - 开始一个简单的libcurl会话
梗概
#include <curl/curl.h>
CURL *curl_easy_init( );
描述
此函数必须是调用的第一个函数,它返回一个curl类型的文件描述指针,你必须使用作为输入到其他功能之前使用。这个调用必须有一个相应的调用curl_easy_cleanup(3)当操作完成。
如果你没有调用call的curl_global_init(3)函数, curl_easy_init(3)会自动帮你完成调用.这在多线程中会出现致命的问题,因为curl_global_init(3)不是线程安全的,它可能会因为没有相应的清理导致资源的问题。
建议你不要通过调用而得到curl_global_init(3)体现。详细介绍了如何使用这个功能请看到libcurl的描述(3)全局环境的要求。
返回值
如果这个函数的返回值为NULL,你将不能使用curl中的任何函数。
范例
1 CURL *curl = curl_easy_init(); 2 if(curl) { 3 CURLcode res; 4 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); 5 res = curl_easy_perform(curl); 6 curl_easy_cleanup(curl); 7 }
请参阅
curl_easy_cleanup(3), curl_global_init(3), curl_easy_reset(3), curl_easy_perform(3)
libcurl 7.8.1 4 March 2002 curl_easy_init(3)
1 curl_easy_init(3) libcurl Manual curl_easy_init(3) 2 3 NAME 4 curl_easy_init - Start a libcurl easy session 5 6 SYNOPSIS 7 #include <curl/curl.h> 8 9 CURL *curl_easy_init( ); 10 11 DESCRIPTION 12 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 13 easy interface. This call MUST have a corresponding call to curl_easy_cleanup(3) when the operation is complete. 14 15 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, 16 since curl_global_init(3) is not thread-safe, and it may result in resource problems because there is no corresponding cleanup. 17 18 You are strongly advised to not allow this automatic behaviour, by calling curl_global_init(3) yourself properly. See the description in 19 libcurl(3) of global environment requirements for details of how to use this function. 20 21 RETURN VALUE 22 If this function returns NULL, something went wrong and you cannot use the other curl functions. 23 24 EXAMPLE 25 CURL *curl = curl_easy_init(); 26 if(curl) { 27 CURLcode res; 28 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); 29 res = curl_easy_perform(curl); 30 curl_easy_cleanup(curl); 31 } 32 33 SEE ALSO 34 curl_easy_cleanup(3), curl_global_init(3), curl_easy_reset(3), curl_easy_perform(3) 35 36 libcurl 7.8.1 4 March 2002 curl_easy_init(3)