libcurl的使用

参考

https://curl.haxx.se/libcurl/c/curl_easy_setopt.html

我个人认为:

创建,初始化,设置url地址,设置是否开启详解,设置标题,设置重定向,设置超时时间,验证对方证书,验证证书名称,

自定义HTTP标头,指定要发送的数据,请求HTTP POST,设置回调,给写回调传递指针,执行请求,释放。

创建curl

curl_global_init(CURL_GLOBAL_ALL)-全局libcurl初始化-初始化一切可能-返回非零值,错误;
curl_easy_init()-启动一个libcurl easy会话-返回NULL,则出现问题;
curl_easy_setopt(curl, CURLOPT_URL, "https:// ");提供要在请求中使用的URL;
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);开启/关闭详解模式-1显示-0禁用-返回CURLE_OK;
curl_easy_setopt(curl, CURLOPT_HEADER, 1);标题传给数据流-1包入写回调-0默认-返回CURLE_OK;
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);遵循HTTP 3XX重定向-1遵循任何location-0禁用-返回CURLE支持-CURL_UNKNOWN_OPTION不支持;
curl_easy_setopt(curl, CURLOPT_TIMEOUT);设置允许请求的最长时间-0默认(秒)-返回CURLE_OK-负值返回CURLE_BAD_FUNCTION_ARGUMENT;
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);验证对方的SSL证书-默认1启用-0禁用-支持返回CURLE_OK-不支持返回CURLE_UNKNOWN_OPTION;
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);根据主机验证证书的名称-默认2必须指示服务器是要连接的那个
	-1返回错误且选项值不会被更改-0永远连接成功-成功返回CURLE_OK;
CURLcode res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);自定义HTTP标头-默认空-"Content-Type:application/"
	-支持HTTP返回CURLE_OK-否则返回CURL_UNKOWN_OPTION;
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, char*);指定要发送到服务器的数据-返回CURLE_OK;
curl_easy_setopt(curl, CURLOPT_POST, 1);请求HTTP POST-1常规发布-默认0禁用-返回CURLE_OK;-否则返回CURL_UNKOWN_OPTION;
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_cookie);为写入收到的数据设置回调-默认'fwite'作为回调-返回CURLE_OK;
curl_easy_setopt(curl, CURL_WRITEDATA, this);传递给写回调的自定义指针-默认到标准输出的file*-返回CURLE_OK;
res = curl_easy_perform(curl);以阻塞方式执行整个请求,在所有init和setopt调用完成后调用此函数-正常返回CURL_OK(0)-发生错误返回非零;

释放curl

curl_global_cleanup();全局libcurl清理,释放curl_global_init获取的资源,与每个curl_easy_init()对应;












  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑兔子JH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值