<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Python實現的檢測web服務器健康狀況的小程序

        來源:懂視網 責編:小采 時間:2020-11-27 14:31:00
        文檔

        Python實現的檢測web服務器健康狀況的小程序

        Python實現的檢測web服務器健康狀況的小程序:對web服務器做健康檢查,一般我們都是用curl庫(不管是php,perl的還是shell的),大致的方法一致: 代碼如下: curl -I -s www.qq.com |head -1|awk '{ health = $2==200?server is ok:server is bad}END
        推薦度:
        導讀Python實現的檢測web服務器健康狀況的小程序:對web服務器做健康檢查,一般我們都是用curl庫(不管是php,perl的還是shell的),大致的方法一致: 代碼如下: curl -I -s www.qq.com |head -1|awk '{ health = $2==200?server is ok:server is bad}END
        對web服務器做健康檢查,一般我們都是用curl庫(不管是php,perl的還是shell的),大致的方法一致:

        代碼如下:


        curl -I -s www.qq.com |head -1|awk '{ health = $2=="200"?"server is ok":"server is bad"}END{print health}'
        server is ok

        說白了這些方式都是封裝了curl庫的,另外還有一些關于http的模塊,例如perl的LWP,python的httplib,urllib或者urllib2 也可以去實現,今天就走的比較低級一些,就使用socket方式來進行一次檢測:

        #!/usr/bin/env python
        #coding=utf8
         
        """
        使用socket方式來檢查服務器的監控狀況
        """
         
        from optparse import OptionParser
         
        import socket
         
        import sys
         
        import re
         
        from StringIO import StringIO
         
        class check_server:
         """
         該類主要是利用socket建立一個連接以后,發送一個http請求,然后根據返回的狀態碼,判斷主機的健康狀況
         """
         def __init__(self,address,port,resource):
         self.address = address
         self.port = port
         self.resource = resource
         
         
         def check(self):
         """
         該方法也是該類的主要方法,包括構建請求資源,解析返回結果等
         """
         if not self.resource.startswith('/'):
         self.resource = '/' + self.resource
         
         request = "GET %s HTTP/1.1
        Host:%s
        
        " %(self.resource,self.address)
         
         #建立一個socket連接
         
         s = socket.socket()
         #設置連接超時時間
         s.settimeout(10)
         
         print "現在開始對 %s 上的 %s 端口連接......" %(self.address,self.port)
         
         try:
         s.connect((self.address,self.port))
         print "連接 %s 上端口 %s 成功" %(self.address,self.port)
         s.send(request)
         response = s.recv(100)
         
         except socket.error,e:
         print "連接%s 上端口 %s 失敗 ,原因為:%s" %(self.address,self.port,e)
         return False
         finally:
         print "關閉連接"
         s.close()
         
         
         line = StringIO(response).readline()
         
         try:
         (http_version,status,messages) = re.split(r's+',line,2)
         except ValueError:
         print "分割響應碼失敗"
         return False
         print "返回的狀態碼是%s" %(status)
         
         if status in ['200','301','302']:
         
         print "服務器的監控狀況良好"
         else:
         
         print "乖乖,趕快上線看看,咋回事"
         
         
        if __name__ == '__main__':
         """
         處理參數
         """
         parser =OptionParser()
         parser.add_option("-a","--address",dest="address" ,default='localhost',help="要檢查主機的地址或者主機名")
         parser.add_option('-p','--port',dest="port",type=int,default=80,help="要檢查主機的端口")
         parser.add_option('-r','--resource',dest="resource",default="/",help="要檢查的資源,比如")
         (options,args) = parser.parse_args()
         
        #開始檢測鳥
        checks = check_server(options.address,options.port,options.resource)
         
        checks.check()

        看下效果

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Python實現的檢測web服務器健康狀況的小程序

        Python實現的檢測web服務器健康狀況的小程序:對web服務器做健康檢查,一般我們都是用curl庫(不管是php,perl的還是shell的),大致的方法一致: 代碼如下: curl -I -s www.qq.com |head -1|awk '{ health = $2==200?server is ok:server is bad}END
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 免费精品国产自产拍在线观看| 亚洲av无码乱码在线观看野外 | 免费看男人j放进女人j免费看| 免费在线观看视频a| 香蕉97碰碰视频免费| 亚洲AV无码之日韩精品| 黄色一级毛片免费看| 亚洲精品国精品久久99热| 国产精品一区二区三区免费| 亚洲日韩中文无码久久| 九九热久久免费视频| 亚洲国产精品无码专区影院| 无码AV片在线观看免费| 亚洲欧洲校园自拍都市| 成人无遮挡裸免费视频在线观看| 亚洲私人无码综合久久网| 国产精品99久久免费| 国产成人自产拍免费视频| 亚洲中文字幕无码久久综合网| 成人性生交大片免费看好| 日木av无码专区亚洲av毛片| 99无码人妻一区二区三区免费| 亚洲依依成人亚洲社区| 亚洲裸男gv网站| 久久久久国产免费| 亚洲AV无码专区在线亚| 免费又黄又爽又猛的毛片| 国产色爽免费无码视频| 亚洲熟妇无码爱v在线观看| 在线视频免费国产成人| 韩日电影在线播放免费版| 亚洲精品国产肉丝袜久久| 国产大片91精品免费观看男同| 福利免费在线观看| 亚洲一区二区三区久久久久| 国产自产拍精品视频免费看| 国产99视频精品免费视频76| 亚洲精品综合久久中文字幕| 日本一区免费电影| 99久久人妻精品免费一区| 狼人大香伊蕉国产WWW亚洲|