2

我正在尝试编写一个脚本,该脚本将读取包含一些 url 的文件,然后使用 mechanize 模块打开一个浏览器实例。我只是想知道如果某些 url 不存在或服务器无法访问,我该怎么做。

例如

import mechanize  

br = mechanize.Browser()  
b  = br.open('http://192.168.1.30/index.php')

我想知道的是,如果 192.168.1.30 无法访问或 http 返回 404 错误,我将如何从 mechanize 获取信息。

4

2 回答 2

2

尝试这样的事情:

from mechanize import Browser
b = Browser()
try:
    r=b.open('http://www.google.com/foobar')
except (mechanize.HTTPError,mechanize.URLError) as e:
    if isinstance(e,mechanize.HTTPError):
        print e.code
    else:
        print e.reason.args

输出:

404

如果你尝试'http://www.google.foo'它会给你一个元组:

(-2, 'Name or service not known')

于 2012-12-11T09:11:11.003 回答
-1
from mechanize import Browser
browser = Browser()
response = browser.open('http://www.google.com')
print response.code

或使用 Python 请求库。

演示它的示例代码:

>>>import requests
>>> r = requests.get('http://httpbin.org/get')
>>> r.status_code
200
于 2012-12-11T08:54:51.043 回答