本文主要是介绍libcurl上手笔记-HTTP方法 GET、POST、PUT、DELETE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
GET
GET方法比较简单,使用一条语句设置即可。
curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
POST
{//方法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
//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
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
这篇关于libcurl上手笔记-HTTP方法 GET、POST、PUT、DELETE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!