libcurl上手笔记-HTTP方法 GET、POST、PUT、DELETE

GET

GET方法比较简单,使用一条语句设置即可。

cpp 复制代码
	curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);

POST

cpp 复制代码
{//方法1
/*使用CURLOPT_POST时,会将方法设置成POST,但是默认还需要从stdin读取提交的内容
* 所以需要用CURLOPT_POSTFIELDSIZE显试设置不需要提交内容
* postfieldsize默认值为-1,表示Unkownsize,默认读取NULL结果的字符串,不能读取二进制。
* 如果要读取二进制,就一定需要设置postfieldsize。
*/
	curl_easy_setopt(curl, CURLOPT_POST, 1L);
	curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0);
}
{//方法2:通过CURLOPT_POSTFIELDS或CURLOPT_COPYPOSTFILEDS来同时设置提交的内容
/**CURLOPT_POSTFIELDS或CURLOPT_COPYPOSTFILEDS的区别在于
* 1. CURLOPT_POSTFIELDS只能设置NULL结果的字符串,CURLOPT_COPYPOSTFILEDS可以设置二进制
* 2. CURLOPT_POSTFIELDS内部直接使用传入的指针,在整个http请求结束之前,不能修改
*    CURLOPT_COPYPOSTFILEDS会在内部将传入的指针数据copy一份。  
*/
	curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "");
}

//Disable Expect : 100 - continue
struct curl_slist* headers = NULL;
headers = curl_slist_append(headers, "Expect:");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);

PUT

cpp 复制代码
//CRULOPT_PUT已经不支持,用CURLOPT_UPLOAD	
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
//不需要提交内容
//如果需要提交,使用CURLOPT_READDATA、CURLOPT_READFUNCTION来设置数据回调
curl_easy_setopt(curl, CURLOPT_INFILESIZE, 0L);

//Disable Expect : 100 - continue
struct curl_slist* headers = NULL;
headers = curl_slist_append(headers, "Expect:");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);

DELETE

cpp 复制代码
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
相关推荐
鱼鳞_14 分钟前
Java学习笔记_Day22
java·笔记·学习
会编程的土豆15 分钟前
【数据结构与算法】 拓扑排序
数据结构·c++·算法
今天又是充满希望的一天23 分钟前
C++分布式系统知识
开发语言·c++
zth41302133 分钟前
SegmentSplay‘s Super STL(v2.2)
开发语言·c++·算法
17(无规则自律)1 小时前
DFS连通域统计:岛屿数量问题及其变形
c++·算法·深度优先
自小吃多1 小时前
TMC220X芯片 串口工具连接交互
笔记·嵌入式硬件
csdn_aspnet1 小时前
在 ASP.NET Core 中使用自定义属性实现 HTTP 请求和响应加密
http·asp.net·.netcore
ZhiqianXia1 小时前
PyTorch学习笔记(6) : torch.autograd
pytorch·笔记·学习
网络工程小王1 小时前
【提示词工程和思维链的讲解】学习笔记
人工智能·笔记·学习
后藤十八里1 小时前
极验4消消乐验证码逆向笔记
笔记·爬虫·python