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");
相关推荐
一隅论数智1 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
倒头就睡的小比特1 天前
算法竞赛C++常用的STL
c++·算法
weilx12341 天前
C++笔记-文件IO-<fcntl.h>
c++
Smileyqp沛沛1 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车1 天前
C/C++ 为什么需要编译器?
开发语言·c++
深圳老胡1 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
旖旎夜光1 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
吞下星星的少年·-·1 天前
C++ 萌新语法入门篇
c++·算法比赛
Because_of_Her11 天前
并查集-听课笔记
笔记·算法·并查集
霍霍的袁1 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio