Python 为什么可以’;Amazon Web服务解析我的CloudFront无效批处理请求XML文档吗?
我正在尝试使用失效API使我上传到Amazon CloudFront的一些对象失效 根据他们的文档,我将发送一个POST请求,其中包含一个XML文档作为其内容。XML文档指定要失效的路径 我从Amazon得到的错误是:Python 为什么可以’;Amazon Web服务解析我的CloudFront无效批处理请求XML文档吗?,python,xml,http,amazon-web-services,amazon-cloudfront,Python,Xml,Http,Amazon Web Services,Amazon Cloudfront,我正在尝试使用失效API使我上传到Amazon CloudFront的一些对象失效 根据他们的文档,我将发送一个POST请求,其中包含一个XML文档作为其内容。XML文档指定要失效的路径 我从Amazon得到的错误是: <Error> <Type>Sender</Type> <Code>MalformedInput</Code> <Message>Could not parse XML</Mes
<Error>
<Type>Sender</Type>
<Code>MalformedInput</Code>
<Message>Could not parse XML</Message>
</Error>
就我所见,我的XML文档与他们的文档相匹配
他们的文件:
<InvalidationBatch xmlns="http://cloudfront.amazonaws.com/doc/2010-11-01/">
<Path>/-o-replace.css</Path>
<Path>/-o-set-link-source.css</Path>
...16 other path elements, each containing only letters, numbers, hyphens and periods
<CallerReference>fixing-accidental-setting-of-gzip-header</CallerReference>
</InvalidationBatch>
有人知道我做错了什么吗?不是CF API的专家,但我认为您的base64编码做错了,请参见示例:
>>> 'xyz'.encode('base64')
'eHl6\n'
>>> base64.b64encode('xyz')
'eHl6'
>>> 'xyz'.encode('base64')
'eHl6\n'
>>> base64.b64encode('xyz')
'eHl6'