我正在使用c++中的libCurl向我的服务器发出一个xml文件的POST请求。post起作用了,我在我的服务器上收到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 ...
}
发布于 2016-09-24 04:19:11
您使用的是CURLOPT_HTTPPOST
,它向服务器发送一个多部分的表单。多部分表单发布是一系列具有MIME样式分隔符的部分,每个部分都有一组标头,这与您在其中看到的完全相同。
如果你想要一个没有多部分内容的普通POST,可以使用CURLOPT_POSTFIELDS
或者设置一个read回调并使用CURLOPT_POST
。
https://stackoverflow.com/questions/39668668
复制相似问题