• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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實現(xiàn)的檢測web服務(wù)器健康狀況的小程序

    來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 14:31:00
    文檔

    Python實現(xiàn)的檢測web服務(wù)器健康狀況的小程序

    Python實現(xiàn)的檢測web服務(wù)器健康狀況的小程序:對web服務(wù)器做健康檢查,一般我們都是用curl庫(不管是php,perl的還是shell的),大致的方法一致: 代碼如下: curl -I -s www.qq.com |head -1|awk '{ health = $2==200?server is ok:server is bad}END
    推薦度:
    導(dǎo)讀Python實現(xiàn)的檢測web服務(wù)器健康狀況的小程序:對web服務(wù)器做健康檢查,一般我們都是用curl庫(不管是php,perl的還是shell的),大致的方法一致: 代碼如下: curl -I -s www.qq.com |head -1|awk '{ health = $2==200?server is ok:server is bad}END
    對web服務(wù)器做健康檢查,一般我們都是用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庫的,另外還有一些關(guān)于http的模塊,例如perl的LWP,python的httplib,urllib或者urllib2 也可以去實現(xiàn),今天就走的比較低級一些,就使用socket方式來進行一次檢測:

    #!/usr/bin/env python
    #coding=utf8
     
    """
    使用socket方式來檢查服務(wù)器的監(jiān)控狀況
    """
     
    from optparse import OptionParser
     
    import socket
     
    import sys
     
    import re
     
    from StringIO import StringIO
     
    class check_server:
     """
     該類主要是利用socket建立一個連接以后,發(fā)送一個http請求,然后根據(jù)返回的狀態(tài)碼,判斷主機的健康狀況
     """
     def __init__(self,address,port,resource):
     self.address = address
     self.port = port
     self.resource = resource
     
     
     def check(self):
     """
     該方法也是該類的主要方法,包括構(gòu)建請求資源,解析返回結(jié)果等
     """
     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()
     #設(shè)置連接超時時間
     s.settimeout(10)
     
     print "現(xiàn)在開始對 %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 "關(guān)閉連接"
     s.close()
     
     
     line = StringIO(response).readline()
     
     try:
     (http_version,status,messages) = re.split(r's+',line,2)
     except ValueError:
     print "分割響應(yīng)碼失敗"
     return False
     print "返回的狀態(tài)碼是%s" %(status)
     
     if status in ['200','301','302']:
     
     print "服務(wù)器的監(jiān)控狀況良好"
     else:
     
     print "乖乖,趕快上線看看,咋回事"
     
     
    if __name__ == '__main__':
     """
     處理參數(shù)
     """
     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()

    看下效果

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

    文檔

    Python實現(xiàn)的檢測web服務(wù)器健康狀況的小程序

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

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲国产精品久久久久| 欧美精品国产一区二区| 国产99re在线观看只有精品| 免费精品视频在线| 91精品国产91久久| 国产成人精品日本亚洲直接| 少妇亚洲免费精品| 国产精品五月天强力打造 | 午夜精品视频在线观看| 久久精品中文闷骚内射| 久久精品国产99国产精品| 99精品国产福利在线观看| 国产精品国产三级国产专播 | 久久久精品免费国产四虎| 精品免费久久久久久久| 亚洲精品字幕在线观看| 日本精品视频在线观看| 国产亚洲精品国看不卡| 91精品福利在线观看| 久久国产精品久久国产精品| 国产午夜福利精品久久2021| 亚洲精品tv久久久久久久久| 亚洲精品永久在线观看| 日韩精品亚洲专区在线观看| 麻豆精品视频在线观看91| 精品亚洲视频在线观看| 精品欧美一区二区在线观看| 国产在线精品一区二区高清不卡 | 2022国产精品最新在线| 精品久久香蕉国产线看观看亚洲| 国产成人精品日本亚洲网址| 国产精品视频a播放| 欧美性videofree精品| 国产精品视频一区二区三区经| 2020国产精品| 国产精品久久免费| 视频二区国产精品职场同事| 成人午夜精品久久久久久久小说| 国产福利电影一区二区三区,欧美国产成人精品一 | 91精品婷婷国产综合久久| 日韩精品一区二区三区四区|