您的位置:首页 > 理论基础 > 计算机网络

libcurl增加HTTP header 和 POST之后获取返回数据

2017-12-14 14:46 417 查看
libcurl增加HTTP header 和 POST之后获取返回数据 

flyfish
static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
size_t written = fwrite(ptr, size, nmemb, (FILE *)stream);
return written;
}
1
2
3
4
5

main函数
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if (curl) {

curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com");
struct curl_slist *headers = NULL;

//增加HTTP header
headers = curl_slist_append(headers, "Accept:application/json");
headers = curl_slist_append(headers, "Content-Type:application/json");
headers = curl_slist_append(headers, "charset:utf-8");

curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "post的内容");

static const char *pagefilename = "respone.txt";
FILE *pagefile;

//写入到文件
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);

fopen_s(&pagefile,pagefilename, "wb");
if (pagefile)
{

curl_easy_setopt(curl, CURLOPT_WRITEDATA, pagefile);
res = curl_easy_perform(curl);
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n",curl_easy_strerror(res));
}
fclose(pagefile);

}
curl_easy_cleanup(curl);
}
curl_global_cleanup();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: