CURL开源库的学习及编程
1、CURL的下载及编译
CURL的安装及编译,详情查看此博主的博客
2019的安装及编译的指南博客
1.1Libcurl函数的介绍
首先调用curl_global_init()初始化libcurl
然后调用curl_easy_init()函数得到easy interface型的指针
调用curl_easyz_setop()t设置传输选项
调用curl_easyz_perform()函数完成传输任务
调用curl_easy_cleanup()释放内存
2、Libcurl的简单界面的函数
2.1初始化libcurl curl_global_init()
调用curl_global_init()这个函数只能用一次
(但是在调用完curl_global_cleanup函数后仍然可以使用)
如果此函数在curl_easy_init函数调用时还没调用,它由libcurl库自动调用,多线程调用此函数以防止在线程中curl_easy_init多次调用
curl_global_init()不能保证线程安全,所以不要在每个线程中都调用curl_global_init,应该将该函数的调用放在主线程中
2.2使用简单的函数获得句柄
curl_easy_init()获得句柄
2.3设置传输选项curl_easy_setopt()
curl所有的设置都是在该函数中完成的
由于setopt()函数有较多选项,在这里不进行一一介绍
详细选项情况查看
API curl C
curl_easy_setopt(CURL *handle, CURLOPT_URL , char *URL); 传入指向要使用的URL的指针
返回值,当返回成功的时候CURLE_OK,如果堆空间不足,则返回CURL_OUT_OF_MEMORY
curl_easy_setopt不会解析给定的字符串,如果给出一个错误的网址,在调用curl_easy_perform或类似内容之前不会检测到它