インラインXMLデータでPUTリクエストを発行できないため、curlの問題に直面しています。どのように実行されるかはわかりませんが、さまざまな手法で2、3回実行する必要がありました。まず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);
...
}
次に、同じ方法を試しましたが、HTTPヘッダーにコマンドを手動で追加する代わりにCURLOPT_POSTFIELDS
andを使用しましたがCURLOPT_POSTFIELDSIZE
、機能しませんでした。
次に、オプションを使用してPUT要求をカスタマイズしCURLOPT_CUSTOMREQUEST
、パラメーターをPUTに設定し、コマンドを手動で追加してPOSTFIELDSメソッドを使用してみました。
悲しいことに、何も機能しませんでした、そして今、私は次に何を試すべきかについて無知です。