簡體   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