我想使用的libcurl正是如此,以創建一個AWS S3鬥:S3 PUT桶的位置端點導致MalformedXML例外
位置端點 curl_easy_setopt(捲曲,CURLOPT_URL, 「http://s3-us-west-2.amazonaws.com/」);
組裝的RESTful HTTP標頭:
PUT/HTTP/1.1
Date:Fri, 18 Apr 2014 19:01:15 GMT
x-amz-content-sha256:ce35ff89b32ad0b67e4638f40e1c31838b170bbfee9ed72597d92bda6d8d9620
host:tempviv.s3-us-west-2.amazonaws.com
x-amz-acl:private
content-type:text/plain
Authorization: AWS4-HMAC-SHA256 Credential=AKIAISN2EXAMPLE/20140418/us-west-2/s3/aws4_request, SignedHeaders=date;x-amz-content-sha256;host;x-amz-acl;content-type, Signature=e9868d1a3038d461ff3cfca5aa29fb5e4a4c9aa3764e7ff04d0c689d61e6f164
Content-Length: 163
主體包含剷鬥配置 http://s3.amazonaws.com/doc/2006-03-01/ & QUOT;>我們西-2-
我得到以下例外。 MalformedXML
您提供的不充分的或者不驗證對我們的出版模式的XML
我已經能夠通過AWS CLI來進行同樣的操作。
我也試過的東西。
1)在xml中,使用\來轉義引號(即xmlns = \「http:.../\」)。 2)不提供CreateBucketConfiguration(「儘管s3文檔建議在將請求發送到位置端點時不允許這樣做)」。
3)將服務調用到相同的終點正確列出所有供應的桶。
請讓我知道,如果有什麼我可能會在這裏失蹤。