我在c ++中使用libCurl向我的服务器发出xml文件的POST请求。帖子工作,我在我的服务器上收到xml。然而,xml也有一个奇怪的标题& xml周围的页脚:
------------------------------b6966127f870Content-Disposition: form-data; name="myName"; filename="myFile.xml"Content-Type: application/xml<CORRECT XML FILE HERE>------------------------------b6966127f870--
这个页眉/页脚是什么?
我可以摆脱它吗?或者我应该只是解析它?
curl是否添加了这些?
以下是我发布xml文件的相关curl调用。
void CurlUtils::postFileToURL(const char* const inFile,
const char* const urlString)
{
// Setup
CURL* const curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
// Post
struct curl_httppost* post = NULL;
struct curl_httppost* last = NULL;
curl_formadd(&post, &last,
CURLFORM_COPYNAME, "myName",
CURLFORM_FILE, inFile,
CURLFORM_END);
curl_easy_setopt(curl, CURLOPT_URL, urlString);
curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
curl_easy_perform(curl);
// Cleanup ...
}
答案 0 :(得分:2)
您正在使用CURLOPT_HTTPPOST
对服务器进行多部分formpost。 multipart formpost是一系列具有MIME样式分隔符的部分,每个部分都有一组标题,正如您在那里看到的那样。
如果您想要没有多部分内容的普通POST,请使用CURLOPT_POSTFIELDS
或设置阅读回调并使用CURLOPT_POST
。