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");
相关推荐
45288655上山打老虎3 小时前
C++完美转发
java·jvm·c++
晓梦.3 小时前
Vue3学习笔记
笔记·学习
思成不止于此3 小时前
【MySQL 零基础入门】DQL 核心语法(二):表条件查询与分组查询篇
android·数据库·笔记·学习·mysql
SadSunset4 小时前
(15)抽象工厂模式(了解)
java·笔记·后端·spring·抽象工厂模式
SunkingYang4 小时前
程序崩溃闪退——MFC共享内存多次OpenFileMapping和MapViewOfFile而没有相应的UnmapViewOfFile和CloseHandle
c++·mfc·共享内存·崩溃·闪退·close·openfilemapping
问君能有几多愁~4 小时前
C++ 日志实现
java·前端·c++
JANGHIGH5 小时前
c++ 多线程(二)
开发语言·c++
珑墨5 小时前
【浏览器】页面加载原理详解
前端·javascript·c++·node.js·edge浏览器
hd51cc5 小时前
MFC控件 学习笔记二
笔记·学习·mfc
a伊雪6 小时前
c++ 引用参数
c++·算法