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

经验

1)配合邮递员能够快速的生成例子代码


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


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


4) libcurl发送达到1秒延时

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

<李>

发送一个请求,该请求头部包含一个期望:100 -继续的字段,用来询问服务器是否愿意接收数据

<李>

当接收到从服务器返回的100 -继续的应答后,才会真正的发起帖子请求,将数据发送给服务器。

解决方案

struct curl_slist * pCurlList=零;
pCurlList=curl_slist_append (pCurlList,“:”);
curl_easy_setopt (pCurlHandle, CURLOPT_HTTPHEADER pCurlList);


5)返回错误码记录分析

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


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


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