当我发送一个GET请求的XML响应格式:错误与Azure的blob服务API
GET
x-ms-date:Fri, 03 Feb 2017 05:50:10 GMT
x-ms-version:2016-05-31
/xyz/mycontainer
comp:list
delimeter:/
maxresults:1000
prefix:image
restyle:container
请求成功与代码200和消息“OK”。但是,解析响应时出现错误。
Error: Error while parsing XML: Content is not allowed in prolog.
但是,当我第一次取出3个字节:
while(i!=3){
System.out.println(in.read());
i++;
}
它开始正确地解析XML。
当我在ASCII码表中查找这些代码时。我发现以下特点:
'╗┐
为什么Azure的Blob服务REST API在XML的开始响应添加这些字符?
我的朋友说这可能是因为这个特殊的响应头包括传输编码:在头中分块。 但是,我不明白他在说什么,他自己也不确定?
Code: Simple XML Parsing code.
Response: Starting bits:
<?xml version="1.0" encoding="utf-8"?><EnumerationResults > ServiceEndpoint="http://xyz.blob.core.windows.net/" > ContainerName="mycontainer"><Prefix>xyz</Prefix><MaxResults>1000</MaxResults><Blobs><Blob><Name>xyz</Name>
您可以分享您得到的XML响应,以及解析该XML的代码吗? –
看起来您并没有阅读完整的响应XML应该以''。 –
@GauravMantri Gaurav我还没有发布完整的回复。但是,谢谢我得到了答案,这很棘手,必须转到调试器模式来阅读完整响应头。 –