【Linux编程】Libcurl库的安装和常用函数
版权声明:本文为博主原创文章,转载请注明出处。 https://www.cnblogs.com/YaoYing/p/14759143.html
安装Libcurl库
sudo apt-get install libcurl3
sudo apt-get install libcurl4-openssl-dev
验证
查看是否有/usr/include/x86_64-linux-gnu/curl/
这个目录,如果存在,表示安装成功。
使用步骤
-
调用
curl_global_init()
初始化libcurl -
调用
curl_easy_init()
函数得到easy interface
型指针 -
调用
curl_easy_setopt()
设置传输选项 -
调用
curl_easy_setopt()
实现回调函数 -
调用
curl_easy_perform()
函数传输任务 -
调用
curl_easy_cleanup()
释放内存 -
调用
curl_global_cleanup()
析构libcurl
函数介绍
CURLcode curl_global_init(long flags);
描述:
这个函数只能用一次。(其实在调用curl_global_cleanup 函数后仍然可再用)
如果这个函数在curl_easy_init函数调用时还没调用,它将由libcurl库自动调用,所以多线程下最好主动调用该函数以防止在线程中curl_easy_init被多次调用。
当应用程序不再使用libcurl的时候,应该调用curl_global_cleanup来释放相关的资源。
注意:虽然libcurl是线程安全的,但curl_global_init是不能保证线程安全的,所以不要在每个线程中都调用curl_global_init,应该将该函数的调用放在主线程中。
参数:flags
CURL_GLOBAL_ALL //初始化所有的子模块和一些默认的选项。
CURL_GLOBAL_SSL //初始化支持安全套接字层。
CURL_GLOBAL_WIN32 //初始化win32套接字库,只能应用于Windows平台。
CURL_GLOBAL_NOTHING //没有额外的初始化。