【问题标题】:Using libCurl to POST adds unknown header and footer使用 libCurl POST 添加未知的页眉和页脚
【发布时间】:2016-09-24 04:19:11
【问题描述】:

我在 c++ 中使用 libCurl 向我的服务器发出 xml 文件的 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 ...
}

【问题讨论】:

    标签: c++ curl libcurl


    【解决方案1】:

    您正在使用CURLOPT_HTTPPOST,它将多部分表单发布到服务器。多部分表单帖子是一系列带有 MIME 样式分隔符的部分以及每个部分的一组标题,与您在此处看到的完全一样。

    如果您想要一个没有多部分内容的普通 POST,请使用 CURLOPT_POSTFIELDS 或设置读取回调并使用 CURLOPT_POST

    【讨论】:

      猜你喜欢
      • 2010-12-03
      • 2013-10-24
      • 2013-09-30
      • 2012-12-18
      • 1970-01-01
      • 2020-01-02
      • 2021-08-14
      • 2011-11-27
      • 1970-01-01
      相关资源
      最近更新 更多