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