Python Mechanize检查服务器是否可用
我正在尝试编写一个脚本,它将读取包含一些URL的文件,然后使用mechanize模块打开浏览器实例。我只是想知道,如果某个url不存在或者无法访问服务器,我如何才能做到这一点 比如说Python Mechanize检查服务器是否可用,python,urllib2,mechanize,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获取信息 from me
import mechanize
br = mechanize.Browser()
b = br.open('http://192.168.1.30/index.php')
我想知道的是,如果192.168.1.30无法访问或http返回404错误,我将如何从mechanize获取信息
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
试着这样做:
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,“名称或服务未知”)
如果响应为404,则在打印任何内容之前,这将抛出一个错误,因此毫无例外地处理它几乎毫无用处。@root我只是向他展示获取状态代码的概念。他可以自己处理异常。@Sibi——在404的情况下,永远不会定义响应,所以即使处理异常respone.code,也会得到一个nameerror。