麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

Python中用pycurl監控http響應時間腳本分享

2020-02-23 06:24:01
字體:
來源:轉載
供稿:網友

最近需要對節點到源站自己做個監控,簡單的ping可以檢測到一些東西,但是http請求的檢查也要進行,于是就研究了下pycurl。

pycurl是個用c語言實現的python 庫,雖然據說不是那么pythonic,但是卻很高效,它支持的協議居多:

supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more!

這一堆協議已經很多了,我需要就是http一個,相對urlib來說,這個庫可能更快些。

以下這個腳本是對某一個給定的url進行檢查,并打印出http相應碼,響應大小,建立連接時間,準備傳輸時間,傳輸第一個字節時間,完成時間。

#!/usr/bin/python# coding: UTF-8import StringIOimport pycurlimport sysimport osclass Test:    def __init__(self):        self.contents = ''    def body_callback(self,buf):        self.contents = self.contents + bufdef test_gzip(input_url):    t = Test()    #gzip_test = file("gzip_test.txt", 'w')    c = pycurl.Curl()    c.setopt(pycurl.WRITEFUNCTION,t.body_callback)    c.setopt(pycurl.ENCODING, 'gzip')    c.setopt(pycurl.URL,input_url)    c.perform()    http_code = c.getinfo(pycurl.HTTP_CODE)    http_conn_time = c.getinfo(pycurl.CONNECT_TIME)    http_pre_tran = c.getinfo(pycurl.PRETRANSFER_TIME)    http_start_tran = c.getinfo(pycurl.STARTTRANSFER_TIME)    http_total_time = c.getinfo(pycurl.TOTAL_TIME)    http_size = c.getinfo(pycurl.SIZE_DOWNLOAD)    print 'http_code http_size conn_time pre_tran start_tran total_time'    print "%d %d %f %f %f %f"%(http_code,http_size,http_conn_time,http_pre_tran,http_start_tran,http_total_time)if __name__ == '__main__':    input_url = sys.argv[1]    test_gzip(input_url)

腳本運行效果

xu:~/curl$ python pycurl_test.py http://daxuxu.info/http_code http_size conn_time pre_tran start_tran total_time200 8703 0.748147 0.748170 1.632642 1.636552

pycurl 的一些響應信息:
(參考: http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html )

pycurl.NAMELOOKUP_TIME 域名解析時間pycurl.CONNECT_TIME 遠程服務器連接時間pycurl.PRETRANSFER_TIME 連接上后到開始傳輸時的時間pycurl.STARTTRANSFER_TIME 接收到第一個字節的時間pycurl.TOTAL_TIME 上一請求總的時間pycurl.REDIRECT_TIME 如果存在轉向的話,花費的時間pycurl.EFFECTIVE_URLpycurl.HTTP_CODE HTTP 響應代碼pycurl.REDIRECT_COUNT 重定向的次數pycurl.SIZE_UPLOAD 上傳的數據大小pycurl.SIZE_DOWNLOAD 下載的數據大小pycurl.SPEED_UPLOAD 上傳速度pycurl.HEADER_SIZE 頭部大小pycurl.REQUEST_SIZE 請求大小pycurl.CONTENT_LENGTH_DOWNLOAD 下載內容長度pycurl.CONTENT_LENGTH_UPLOAD 上傳內容長度pycurl.CONTENT_TYPE 內容的類型pycurl.RESPONSE_CODE 響應代碼pycurl.SPEED_DOWNLOAD 下載速度pycurl.SSL_VERIFYRESULTpycurl.INFO_FILETIME 文件的時間信息pycurl.HTTP_CONNECTCODE HTTP 連接代碼pycurl.HTTPAUTH_AVAILpycurl.PROXYAUTH_AVAILpycurl.OS_ERRNOpycurl.NUM_CONNECTSpycurl.SSL_ENGINESpycurl.INFO_COOKIELISTpycurl.LASTSOCKETpycurl.FTP_ENTRY_PATH            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美精品videos | 欧美激情性色生活片在线观看 | 伊人久久电影网 | 久久久久久久久久久国产精品 | av在线免费观看播放 | 亚洲成人高清在线观看 | 久久国产成人精品国产成人亚洲 | 北原夏美av | av免播放| 欧美中文字幕一区二区 | 黄色片网站免费看 | 精品国产乱码久久久久久丨区2区 | 欧美一级片在线 | 精品国产一区三区 | 91av亚洲 | 日韩视频一区二区三区在线观看 | a视频在线免费观看 | 欧美韩国日本在线 | 亚洲视频综合网 | 毛片福利 | 91情侣在线偷精品国产 | 日本黄色不卡视频 | 一级黄片毛片免费看 | 国产一区二区三区四区在线 | 久久精品亚洲一区二区 | 国产成人高潮免费观看精品 | av在线1| 毛片福利 | 久久精品中文字幕 | 欧美亚洲免费 | 免费看a级片 | wwwxxx免费视频 | 免费国产成人高清在线看软件 | 在线免费av观看 | 本色视频aaaaaa一级网站 | av在线免费看网址 | 日本视频免费看 | 日韩精品一区二区三区中文 | 中文字幕精品一二三四五六七八 | 九一免费国产 | 麻豆一二区 |