无法以所需格式设置http POST标头(使用libcurl)

时间:2015-02-24 15:22:52

标签: c rest http curl libcurl

我正在使用一个REST客户端,它使用libcurl发送HTTP POST消息。

收到HTTP POST数据包后,我的REST服务器需要采取一些措施,但由于某些标题与预期格式不同,因此无法执行此操作。

必需的HTTP数据包格式:

Hypertext Transfer Protocol
> Accept: text/html
> Content-Type: text/plain 

Line-based text data: text/plain
>test string

当前HTTP数据包格式:

Hypertext Transfer Protocol
> Accept: */*
> Content-Type: application/x-www-form-urlencoded

Line-based text data: application/x-www-form-urlencoded
>test string

我尝试过以下方法:(参考:http://curl.haxx.se/libcurl/c/httpcustomheader.html

curl = curl_easy_init();
if(curl) 
{
    struct curl_slist *chunk = NULL;


    /* Add a custom header */ 
    chunk = curl_slist_append(chunk, "Accept: text/html");
    chunk = curl_slist_append(chunk, "Content-Type: text/plain");

    /* set our custom set of headers */ 
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);

    res = curl_easy_perform(curl);

但是这个代码更改对传出的HTTP POST数据包没有影响。

任何人都可以告诉我什么libcurl选项可以帮助我实现所需的格式?

由于

0 个答案:

没有答案