Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么可以’;Amazon Web服务解析我的CloudFront无效批处理请求XML文档吗?_Python_Xml_Http_Amazon Web Services_Amazon Cloudfront - Fatal编程技术网

Python 为什么可以’;Amazon Web服务解析我的CloudFront无效批处理请求XML文档吗?

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

我正在尝试使用失效API使我上传到Amazon CloudFront的一些对象失效

根据他们的文档,我将发送一个POST请求,其中包含一个XML文档作为其内容。XML文档指定要失效的路径

我从Amazon得到的错误是:

<Error>
    <Type>Sender</Type>
    <Code>MalformedInput</Code>
    <Message>Could not parse XML</Message>
</Error>
就我所见,我的XML文档与他们的文档相匹配

他们的文件:

我的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'