python-2.7 - 如何在Python的mechanize中获取错误页面的内容?

标签 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() 时似乎没有填充。

最佳答案

由于 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/

相关文章:

Python mechanize 在第二次打开时丢失属性

python Mechanize 刹车TextareaControl的内容

mysql - 有什么方法可以使用 python 来对齐 mysql 表内的数据吗?

javascript - 获取计数并将它们分组

python-2.7 - Mechanize 控件名称 "None"

ruby - 仅当其中一个字段为粗体时如何解析一行? Nokogiri 和 Ruby

python - 使用 python 处理从 semrush 到 JSON 的 CSV 响应

python - Python 导入后,调用定义会生成 NameError

Python - 从列表中选择随机对象

perl - 如何让 WWW::Mechanize 正确处理带有 URI 片段的 302 重定向?