我正在使用一个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选项可以帮助我实现所需的格式?
由于