我想使用的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)将服务调用到相同的终点正确列出所有供应的桶。
请让我知道,如果有什么我可能会在这里失踪。