温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

libcurl第十一课 使用以及注意事项

发布时间:2020-10-21 21:12:14 来源:网络 阅读:345 作者:fengyuzaitu 栏目:软件技术

经验

1)配合Postman能够快速的生成例子代码


2)curl_global_init初始化
如果调用curl库函数的时候,没有调用curl_global_init进行curl全局变量的初始化,会在curl_easy_init函数中,进行初始化调用


3)请求数据的时候,都应该携带上返回报文的格式,否则无法返回有效的数据
 struct curl_slist *pCurlHeadList = NULL;
 pCurlHeadList = curl_slist_append(pCurlHeadList, "content-type: application/json");
 curl_easy_setopt(pCurlHandle, CURLOPT_HTTPHEADER, pCurlHeadList);
当前在对接ASP网页后端的时候,必须指定传输文本格式


4)libcurl发送达到1秒延时

当POST数据长度大于1024字节,libcurl不会直接发送POST请求,而是会分成两步执行:

  1. 发送一个请求,该请求头部包含一个Expect: 100-continue的字段,用来询问server是否愿意接收数据

  2. 当接收到从server返回的100-continue的应答后,才会真正的发起POST请求,将数据发送给server.

解决方案

  struct curl_slist *pCurlList = NULL;
  pCurlList = curl_slist_append(pCurlList, "expect: ");
  curl_easy_setopt(pCurlHandle, CURLOPT_HTTPHEADER, pCurlList);


5)返回错误码记录分析

CURLE_COULDNT_CONNECT(7)
connect()的主机或代理失败。


CURLE_GOT_NOTHING(52)
服务器连接成功,但是没有从服务器返回的,和得到什么的情况下,被认为是一个错误


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI