Web服務質量監控python指令碼

2021-09-25 17:30:18 字數 1938 閱讀 7350

import os,sys

import time

import pycurl

from io import bytesio

buffer = bytesio()

url = '' #探測質量的目標url

c = pycurl.curl() #建立乙個curl物件

c.setopt(pycurl.url, url) #定義請求的url常量

c.setopt(pycurl.connecttimeout, 50) #定義請求的連線等待是鍵

c.setopt(pycurl.timeout, 50) #定義超時時間

c.setopt(pycurl.forbid_reuse, 1) #完成互動後強制斷開,補重用

c.setopt(pycurl.maxredirs, 1) #指定http重定向的最大數為1

c.setopt(pycurl.dns_cache_timeout, 30) #設定儲存dns資訊時間為30秒

#最新pycurl輸出的用法,需要將獲得的位元組儲存在buffer中

c.setopt(pycurl.writeheader,buffer) #將返回的http header定向到buffer最新pycurl輸出的用法

c.setopt(pycurl.writedata, buffer) #將返回的http內容定向到buffer,最新pycurl輸出的用法

try:

c.perform() #提交請求

except exception as e:

print("connection error"+str(e))

indexfile.close()

c.close()

sys.exit()

namelookup_time = c.getinfo(c.namelookup_time) #獲取dns解析時間

connecttime = c.getinfo(c.connect_time) #獲取建立連線時間

pretransfer_time = c.getinfo(c.pretransfer_time) #獲取從建立連線到準備傳輸所消耗的時間

starttransfer_time = c.getinfo(c.starttransfer_time) #獲取從建立連線到傳輸開始所消耗的時間

total_time = c.getinfo(c.total_time) #獲取傳輸的總時間

http_code = c.getinfo(c.http_code) #獲取http狀態碼

header_size = c.getinfo(c.header_size) #獲取http頭部大小

#列印輸出相關資料

body = buffer.getvalue()

report = 'report.txt' #將訪問的url的html檔案寫入到檔案中

with open (report, 'wb' )as f:

f.write(body)

print("http狀態碼{}".format(http_code))

print("獲取dns解析時間% ms".format(namelookup_time*1000))

print("建立連線時間 ms".format(connecttime*1000))

print("準備傳輸時間 ms".format(pretransfer_time*1000))

print("傳輸開始時間 ms".format(starttransfer_time*1000))

print("傳輸結束總時間 ms".format(total_time*1000))

print("http頭部大小{} byte".format(header_size))

c.close()

python探測web服務質量

本文通過pycurl模組提供的方法探測web服務質量的情況,pycurl.curl 類建立乙個curl控制代碼物件,關於curl物件的一下方法使用通過乙個例子說明 import os import sys import pycurl print pycurl.version url c pycurl...

Python之 實現探測Web服務質量

coding utf 8 created on 2018年1月4日 author liuyazhuang import os,sys import time import pycurl 探測的目標url url 建立乙個curl物件 c pycurl.curl 定義請求的url常量 c.setopt...

QoS服務質量

ip qos歷史 internet的建立者在ip分組報頭中預留了乙個位元組,為服務型別tos,從而使得最初的ip規範就包括qos。服務型別用於指示所需qos的抽象引數,這些引數用於指導如何選擇實際的服務引數。1980年,internet處於象牙塔,執行的應用和通訊有限,因此,是否支援tos顯得無關緊...