Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Python 使用httplib模块实现监测web服务

以下程序均来自《Python.UNIX和Linux系统管理指南》http://www.linuxidc.com/Linux/2013-06/86448.htmhttplib_check_web.py#!/usr/bin/env pythonimport httplibimport sysdef check_webserver(address, port, resource):        if not resource.startswith("/"):                resource = "/" + resource        try:                conn = httplib.HTTPConnection(address, port)                print "HTTP connection created successfully"                req = conn.request("GET", resource)                print "request for %s successful" % resource                response = conn.getresponse()                print "response status: %s" % response.status        except httplib.error, e:                print "HTTP connection failed: %s" % e                return False        finally:                conn.close()                print "HTTP connection closed successfully"        if response.status in [200, 301]:                return True        else:                return Falseif __name__ == "__main__":        from optparse import OptionParser        parser = OptionParser()        parser.add_option("-a", "--address", dest="address", default="localhost", help="ADDRESS for webserver", metavar="ADDRESS")        parser.add_option("-p", "--port", dest="port", type="int", default=80, help="PORT for webserver", metavar="PORT")        parser.add_option("-r", "--resource", dest="resource", default="index.html", help="RESOURCE to check", metavar="RESOURCE")        (options, args) = parser.parse_args()        print "options: %s, args: %s" %(options, args)        check = check_webserver(options.address, options.port, options.resource)        print "check_webserver returned %s" % check        sys.exit(not check)
运行结果:成功[root@CentOS python]# python httplib_check_web.py -a 192.168.137.2 -r index.htmloptions: {"resource": "index.html", "port": 80, "address": "192.168.137.2"}, args: []HTTP connection created successfullyrequest for /index.html successfulresponse status: 200HTTP connection closed successfullycheck_webserver returned True不成功,网页不存在的情况[root@centos python]# python httplib_check_web.py -a 192.168.137.2 -r ppp.htmloptions: {"resource": "ppp.html", "port": 80, "address": "192.168.137.2"}, args: []HTTP connection created successfullyrequest for /ppp.html successfulresponse status: 404HTTP connection closed successfullycheck_webserver returned False