Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Mechanize检查服务器是否可用_Python_Urllib2_Mechanize - Fatal编程技术网

Python Mechanize检查服务器是否可用

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

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