如何在Python的机械化中获取错误页面的内容?

时间:2013-09-16 22:09:11

标签: python-2.7 mechanize

因此,假设我在使用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()时似乎没有填充。

1 个答案:

答案 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