我遇到了 curl 的问题,因为我无法使用内联 XML 数据发出 PUT 请求,我不确定它是如何完成的,但我已经使用不同的技术进行了几次处理。首先,我尝试使用CURLOPT_UPLOAD
PUT 的默认 CURL 选项,并尝试手动附加 xml 数据:
typedef map<string, string> headers_t;
std::string strCommand = <XMLCOMMAND>
PUTRequest(param1, param2, ...)
{
...
headers_t headers;
int nLen = strCommand.length();
stringstream issLen;
issLen << nLen;
issLen >> strln;
curl_easy_setopt(curl, CURLOPT_UPLOAD, true); // HTTP PUT
headers.append("Content-Length: "+ strln); //
headers.append(strCommand);
...
}
然后我尝试了相同的方法,但使用CURLOPT_POSTFIELDS
andCURLOPT_POSTFIELDSIZE
而不是手动将命令附加到 HTTP 标头.... 不起作用。
然后我尝试使用该CURLOPT_CUSTOMREQUEST
选项自定义 PUT 请求并将参数设置为 PUT 并手动附加命令并使用 POSTFIELDS 方法。
可悲的是,没有一个有效,现在我对接下来要尝试什么一无所知。