繁体   English   中英

Python urllib2错误阅读

[英]Python urllib2 error reading

我试图编写一个使用urllib2进行一些错误处理的简单程序。 该代码如下所示

try:
    urllib2.Request(...)
except HTTPError as e:
    self.log.debug("HTTP Error for url %s is %s" % (e.url, e.read()))

关键是除了e.message之外,还要完全转储错误页面。 但是偶尔我会收到消息UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 4030: ordinal not in range(128) ,我相信这是因为e.read()假定内容的ascii char集为as返回的页面可能还有其他内容。

我的问题是如何解决这个问题? 即,我希望转储一个“合理的”信息性消息。 我同意这也取决于我尝试连接的URL返回的字符集和编码,但是如果我的Python e.read方法中有任何方法可以不尝试确保ASCII字符,

只需使用编码,它就会起作用,这只是编码方面的问题。

try:
    urllib2.Request(...)
except HTTPError as e:
    self.log.debug("HTTP Error for url %s is %s" % (e.url, e.read().encode('utf8')))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM