LibCurl似乎逃脱了我的POSTFIELDS

我使用这段代码发布json到服务器:

但似乎CURL在某种程度上逃避了数据,即将其转换为“{”email “:”test@example.se “}”(使我的引号转义)。 我认为curl仍然使用Content-Type“application / x-www-form-urlencoded”发布,即使你在我的头文件中用application / json覆盖了它。 我怎样才能让curl不这样做?

curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_POST, 1L);
const std::string& data = "{"email":"test@example.se"}";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data.c_str() );
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, data.size() );
// Headers
curl_easy_setopt(headers, "Content-Type: application/json");
curl_easy_setopt(headers, "Authorization: Basic: something:something");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_perform(curl);

从这里开始:http://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDS.html

libcurl不会以任何方式为您转换或编码。

指向的数据不会被库复制:因此,它必须由调用应用程序保留,直到关联的传输完成。

你确定你正在关注这些通知吗?

链接地址: http://www.djcxy.com/p/8621.html

上一篇: LibCurl seems to escape my POSTFIELDS

下一篇: Trouble with php cURL library and REST POST request