我把整个HTTP响应作为一个字符串,但我想只提取正文.
我宁愿不使用外部库或重新实现头解析.
Content-Type: text/xml
Content-Length: 129
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><boolean>0</boolean></value>
</param>
</params>
</methodResponse>
</code>
Run Code Online (Sandbox Code Playgroud)
更新:如果不明显,我确实从URL以外的其他来源获取数据,因此任何尝试使用需要和URL的内容都是无用的.
我仍然从类似对象的流中读取数据data = stream.read(),因此也可以使用可以使用流的解决方案.
第二次更新,是的,这是一个XMLRPC响应,但它是我正在使用不同的传输,所以我不能使用httplib来解析它,主要是因为httplib被破坏,不接受字符串或流进行解析.
第三次更新,双换行可以是\r\n\r\n或\n\n基于服务器.
所以说清楚:输入是一个HTTP response that is supposed to contain an XMLRPC response and the output has to be the response.它不必解析XML,但必须能够从响应中正确提取XML.
基于Michal解决方案,但这包括和必要的修复:
def strip_http_headers(http_reply):
p = http_reply.find('\r\n\r\n')
if p >= 0:
return http_reply[p+4:]
return http_reply
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5107 次 |
| 最近记录: |