欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中用pycurl監(jiān)控http響應時間腳本分享

 更新時間:2015年02月02日 10:18:39   投稿:junjie  
這篇文章主要介紹了Python中用pycurl監(jiān)控http響應時間腳本分享,本文腳本實現(xiàn)監(jiān)控http相應碼,響應大小,建立連接時間,準備傳輸時間,傳輸?shù)谝粋€字節(jié)時間,完成時間,需要的朋友可以參考下

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

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

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!

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

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

#!/usr/bin/python
# coding: UTF-8
import StringIO
import pycurl
import sys
import os
class Test:
    def __init__(self):
        self.contents = ''
    def body_callback(self,buf):
        self.contents = self.contents + buf
def 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_time
200 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 接收到第一個字節(jié)的時間
pycurl.TOTAL_TIME 上一請求總的時間
pycurl.REDIRECT_TIME 如果存在轉向的話,花費的時間

pycurl.EFFECTIVE_URL
pycurl.HTTP_CODE HTTP 響應代碼
pycurl.REDIRECT_COUNT 重定向的次數(shù)
pycurl.SIZE_UPLOAD 上傳的數(shù)據(jù)大小
pycurl.SIZE_DOWNLOAD 下載的數(shù)據(jù)大小
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_VERIFYRESULT
pycurl.INFO_FILETIME 文件的時間信息

pycurl.HTTP_CONNECTCODE HTTP 連接代碼
pycurl.HTTPAUTH_AVAIL
pycurl.PROXYAUTH_AVAIL
pycurl.OS_ERRNO
pycurl.NUM_CONNECTS
pycurl.SSL_ENGINES
pycurl.INFO_COOKIELIST
pycurl.LASTSOCKET
pycurl.FTP_ENTRY_PATH

相關文章

  • 使用Python自動生成HTML的方法示例

    使用Python自動生成HTML的方法示例

    這篇文章主要介紹了使用Python自動生成HTML的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python實現(xiàn)識別手寫數(shù)字 Python圖片讀入與處理

    Python實現(xiàn)識別手寫數(shù)字 Python圖片讀入與處理

    這篇文章主要為大家詳細介紹了Python實現(xiàn)識別手寫數(shù)字,Python圖片的讀入與處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Pandas中Replace函數(shù)使用那些事兒

    Pandas中Replace函數(shù)使用那些事兒

    Pandas是基于NumPy?的一種工具,該工具是為了解決數(shù)據(jù)分析任務而創(chuàng)建的,下面這篇文章主要給大家介紹了關于Pandas中Replace函數(shù)使用那些事兒,文中通過實例代碼以及圖文介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • PyCharm創(chuàng)建Django項目的簡單步驟記錄

    PyCharm創(chuàng)建Django項目的簡單步驟記錄

    PyCharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,下面這篇文章主要給大家介紹了關于利用PyCharm創(chuàng)建Django項目的簡單步驟,需要的朋友可以參考下
    2022-07-07
  • Python超簡單容易上手的畫圖工具庫推薦

    Python超簡單容易上手的畫圖工具庫推薦

    今天小編給大家分享一款很棒的python畫圖工具庫,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-05-05
  • Python報錯AssertionError:can only test a child proc問題

    Python報錯AssertionError:can only test a c

    這篇文章主要介紹了Python報錯AssertionError:can only test a child proc問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • OPENAI?API?微調?GPT-3?的?Ada?模型

    OPENAI?API?微調?GPT-3?的?Ada?模型

    這篇文章主要為大家介紹了OPENAI?API?微調?GPT-3?的?Ada?模型使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • pandas factorize實現(xiàn)將字符串特征轉化為數(shù)字特征

    pandas factorize實現(xiàn)將字符串特征轉化為數(shù)字特征

    今天小編就為大家分享一篇pandas factorize實現(xiàn)將字符串特征轉化為數(shù)字特征,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python控制自己的手機攝像頭拍照并自動發(fā)送到郵箱案例講解

    Python控制自己的手機攝像頭拍照并自動發(fā)送到郵箱案例講解

    這篇文章主要介紹了Python控制自己的手機攝像頭拍照,并把照片自動發(fā)送到郵箱,大概思路是通過opencv調用攝像頭拍照保存圖像本地用email庫構造郵件內容,保存的圖像以附件形式插入郵件內容用smtplib庫發(fā)送郵件到指定郵箱,需要的朋友可以參考下
    2022-04-04
  • 解讀Python中degrees()方法的使用

    解讀Python中degrees()方法的使用

    這篇文章主要介紹了Python中degrees()方法的使用,是Python入門中的基礎知識,需要的朋友可以參考下
    2015-05-05

最新評論