我正在使用urllib2通過HTTP獲取頁面。有時,當我的請求包含錯誤時,資源會引發HTTP錯誤400(錯誤請求)。但是,該響應還包含一個提供詳細錯誤消息的XML元素。能夠看到該錯誤而非僅僅由urllib2返回的HTTPError異常將非常方便。Python urllib2:甚至在HTTPError異常期間讀取內容主體?
儘管例外情況,我如何返回文檔內容?
我正在使用urllib2通過HTTP獲取頁面。有時,當我的請求包含錯誤時,資源會引發HTTP錯誤400(錯誤請求)。但是,該響應還包含一個提供詳細錯誤消息的XML元素。能夠看到該錯誤而非僅僅由urllib2返回的HTTPError異常將非常方便。Python urllib2:甚至在HTTPError異常期間讀取內容主體?
儘管例外情況,我如何返回文檔內容?
您可以將錯誤視爲回覆。
http://www.voidspace.org.uk/python/articles/urllib2.shtml#httperror
當錯誤被返回一個HTTP錯誤代碼 和錯誤頁面提出的服務器 響應。您可以在返回的頁面上使用 HTTPError實例作爲回覆 。這意味着 以及代碼屬性,它也 已閱讀,geturl,和信息,方法。
import urllib2
try:
request = urllib2.Request('http://www.somesite.com')
response = urllib2.urlopen(req)
except urllib2.HTTPError as e:
error_message = e.read()
print error_message