Python Mechanize检查服务器是否可用

时间:2012-12-11 08:51:58

标签: python urllib2 mechanize

我正在尝试编写一个脚本,它将读取包含一些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获取信息。

2 个答案:

答案 0 :(得分: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')

答案 1 :(得分:-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