因此,假设我在使用 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()
时似乎没有填充。
最佳答案
由于 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
关于python-2.7 - 如何在Python的mechanize中获取错误页面的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18838133/