因此,假设我在使用mechanize.Browser.retrieve
时收到错误,我就这样抓住它:
try:
br.retrieve(url, fname)
except mechanize.HTTPError as e:
if e.code in [403, 404]:
# how can I get to the contents of the server-sent error page?
else:
raise
如何访问服务器此时发送的错误页面?
我尝试使用br.response().get_data()
,但在使用retrieve()
时似乎没有填充。
答案 0 :(得分:2)
由于HTTP错误由mechanize
包装并包含有关响应的其他信息,因此您可以使用e.read()
:
try:
br.retrieve(url, fname)
except mechanize.HTTPError as e:
if e.code in [403, 404]:
print e.read()
else:
raise