最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

pycurl是個(gè)用c語(yǔ)言實(shí)現(xiàn)的python 庫(kù),雖然據(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一個(gè),相對(duì)urlib來說,這個(gè)庫(kù)可能更快些。

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

#!/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)

腳本運(yùn)行效果

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 的一些響應(yīng)信息:
(參考: http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html )

pycurl.NAMELOOKUP_TIME 域名解析時(shí)間
pycurl.CONNECT_TIME 遠(yuǎn)程服務(wù)器連接時(shí)間
pycurl.PRETRANSFER_TIME 連接上后到開始傳輸時(shí)的時(shí)間
pycurl.STARTTRANSFER_TIME 接收到第一個(gè)字節(jié)的時(shí)間
pycurl.TOTAL_TIME 上一請(qǐng)求總的時(shí)間
pycurl.REDIRECT_TIME 如果存在轉(zhuǎn)向的話,花費(fèi)的時(shí)間

pycurl.EFFECTIVE_URL
pycurl.HTTP_CODE HTTP 響應(yīng)代碼
pycurl.REDIRECT_COUNT 重定向的次數(shù)
pycurl.SIZE_UPLOAD 上傳的數(shù)據(jù)大小
pycurl.SIZE_DOWNLOAD 下載的數(shù)據(jù)大小
pycurl.SPEED_UPLOAD 上傳速度
pycurl.HEADER_SIZE 頭部大小
pycurl.REQUEST_SIZE 請(qǐng)求大小
pycurl.CONTENT_LENGTH_DOWNLOAD 下載內(nèi)容長(zhǎng)度
pycurl.CONTENT_LENGTH_UPLOAD 上傳內(nèi)容長(zhǎng)度
pycurl.CONTENT_TYPE 內(nèi)容的類型
pycurl.RESPONSE_CODE 響應(yīng)代碼
pycurl.SPEED_DOWNLOAD 下載速度
pycurl.SSL_VERIFYRESULT
pycurl.INFO_FILETIME 文件的時(shí)間信息

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

相關(guān)文章

  • python實(shí)現(xiàn)守護(hù)進(jìn)程、守護(hù)線程、守護(hù)非守護(hù)并行

    python實(shí)現(xiàn)守護(hù)進(jìn)程、守護(hù)線程、守護(hù)非守護(hù)并行

    本篇文章主要介紹了python實(shí)現(xiàn)守護(hù)進(jìn)程、守護(hù)線程、守護(hù)非守護(hù)并行,詳細(xì)的介紹了守護(hù)子進(jìn)程、非守護(hù)子進(jìn)程并存,守護(hù)子線程非守護(hù)子進(jìn)程并存的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python實(shí)現(xiàn)多個(gè)視頻合成一個(gè)視頻的功能

    Python實(shí)現(xiàn)多個(gè)視頻合成一個(gè)視頻的功能

    這篇文章主要介紹了可以將多個(gè)視頻拼接為一個(gè)視頻的Python工具代碼,文中的代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,快來跟隨小編一起學(xué)習(xí)一下吧
    2021-12-12
  • 詳解基于python的多張不同寬高圖片拼接成大圖

    詳解基于python的多張不同寬高圖片拼接成大圖

    這篇文章主要介紹了詳解基于python的多張不同寬高圖片拼接成大圖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Python繪圖之在父組件中使用子組件的函數(shù)詳解

    Python繪圖之在父組件中使用子組件的函數(shù)詳解

    這篇文章主要為大家詳細(xì)介紹了Python在項(xiàng)目開發(fā)時(shí),如何實(shí)現(xiàn)在父組件中使用子組件的函數(shù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-08-08
  • Python2/3中urllib庫(kù)的一些常見用法

    Python2/3中urllib庫(kù)的一些常見用法

    Urllib庫(kù)是Python中的一個(gè)功能強(qiáng)大、用于操作URL,并在做爬蟲的時(shí)候經(jīng)常要用到的庫(kù)。下面這篇文章主要給大家介紹了關(guān)于Python2/3中urllib庫(kù)的一些常見用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-12-12
  • 自學(xué)python的建議和周期預(yù)算

    自學(xué)python的建議和周期預(yù)算

    在本篇文章中小編給大家分享了關(guān)于自學(xué)python的建議和周期預(yù)算,有興趣的朋友們可以學(xué)習(xí)參考下。
    2019-01-01
  • Python OpenCV機(jī)器學(xué)習(xí)之圖像識(shí)別詳解

    Python OpenCV機(jī)器學(xué)習(xí)之圖像識(shí)別詳解

    OpenCV中也提供了一些機(jī)器學(xué)習(xí)的方法,例如DNN等。本文將為大家詳細(xì)介紹一下OpenCV中利用機(jī)器學(xué)習(xí)實(shí)現(xiàn)的一些圖片識(shí)別功能:人臉識(shí)別、車牌識(shí)別等,感興趣的可以了解一下
    2022-01-01
  • python設(shè)置檢查點(diǎn)簡(jiǎn)單實(shí)現(xiàn)代碼

    python設(shè)置檢查點(diǎn)簡(jiǎn)單實(shí)現(xiàn)代碼

    這篇文章主要介紹了python設(shè)置檢查點(diǎn)簡(jiǎn)單實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-07-07
  • 詳解Python中的各種函數(shù)的使用

    詳解Python中的各種函數(shù)的使用

    這篇文章主要介紹了詳解Python中的各種函數(shù)的使用,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 簡(jiǎn)單實(shí)現(xiàn)python收發(fā)郵件功能

    簡(jiǎn)單實(shí)現(xiàn)python收發(fā)郵件功能

    這篇文章主要教大家如何簡(jiǎn)單實(shí)現(xiàn)python收發(fā)郵件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評(píng)論

青田县| 鄂托克前旗| 徐州市| 如东县| 英超| 手游| 基隆市| 玉屏| 博爱县| 渭源县| 武冈市| 宜州市| 卓尼县| 库尔勒市| 定兴县| 义乌市| 商城县| 香格里拉县| 巩义市| 明光市| 宁阳县| 白城市| 通州市| 恩施市| 莒南县| 平原县| 辽中县| 娄烦县| 永寿县| 宾阳县| 清流县| 乌苏市| 京山县| 临泉县| 藁城市| 黔西县| 景德镇市| 汝州市| 永靖县| 武冈市| 巴林右旗|