#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/10/18 9:50
# @Author : Beam
# @Site : 實(shí)現(xiàn)探測(cè)Web服務(wù)質(zhì)量
# @File : demo_pycurl.py
# @Software: PyCharm
import pycurl
import os,sys,time
def getInfo(URL):
"""
:param URL:用戶(hù)輸入需要檢測(cè)的URL地址
info 字典主要用于映射dic字典
dic字典主要存下curl結(jié)果
:return:沒(méi)return卜范,直接print沽瞭,函數(shù)可以改寫(xiě),可以用于定時(shí)檢測(cè)多個(gè)域名辰狡,增加一個(gè)需要檢測(cè)的url列表即可
"""
c = pycurl.Curl()
c.setopt(pycurl.URL,URL) #定義請(qǐng)求的URL常量
c.setopt(pycurl.CONNECTTIMEOUT,5) #請(qǐng)求等待時(shí)間最多5秒
c.setopt(pycurl.TIMEOUT,5) #定義請(qǐng)求超時(shí)時(shí)間(服務(wù)器沒(méi)回應(yīng))
c.setopt(pycurl.NOPROGRESS,1) #屏蔽下載進(jìn)度條
c.setopt(pycurl.FORBID_REUSE,1) #交互完成后強(qiáng)制斷開(kāi)連接,不重用
c.setopt(pycurl.MAXREDIRS,1) #指定HTTP重定向的最大數(shù)為1
c.setopt(pycurl.DNS_CACHE_TIMEOUT,30) #設(shè)置DNS信息保存時(shí)間為30秒
c.setopt(pycurl.USERAGENT,"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 OPR/40.0.2308.81 (Edition Baidu)")
dic = {}
info ={'NAMELOOKUP_TIME':'DNS解析時(shí)間','CONNECT_TIME':'建立連接時(shí)間','PRETRANSFER_TIME':'建立到準(zhǔn)備傳輸所消耗的時(shí)間','STARTTRANSFER_TIME':'建立連接到傳輸開(kāi)始消耗的時(shí)間','TOTAL_TIME':'傳輸總時(shí)間',
'HTTP_CODE':'HTTP狀態(tài)碼','SIZE_DOWNLOAD':'下載數(shù)據(jù)包大小','HEADER_SIZE':'HTTP頭部大小','SPEED_DOWNLOAD':'平均下載速度'}
with open(os.path.dirname(os.path.realpath(__file__))+"/content.txt","wb") as indexfile:
c.setopt(pycurl.WRITEHEADER,indexfile) #將返回的HTTP HEADER定向到indexfile文件對(duì)象
c.setopt(pycurl.WRITEDATA,indexfile) #將返回的HTML內(nèi)容定向到indexfile文件對(duì)象
try:
c.perform()
except Exception,e:
print "Connection error:" +str(e)
c.close()
sys.exit()
dic['NAMELOOKUP_TIME'] = '%.2f ms' % (c.getinfo(c.NAMELOOKUP_TIME)*1000) #獲取DNS解析時(shí)間
dic['CONNECT_TIME'] = '%.2f ms' % (c.getinfo(c.CONNECT_TIME)*1000) #獲取建立連接時(shí)間
dic['PRETRANSFER_TIME'] = '%.2f ms' % (c.getinfo(c.PRETRANSFER_TIME)*1000) #獲取從建立到準(zhǔn)備傳輸所消耗的時(shí)間
dic['STARTTRANSFER_TIME'] = '%.2f ms' % (c.getinfo(c.STARTTRANSFER_TIME)*1000) #獲取從建立連接到傳輸開(kāi)始消耗的時(shí)間
dic['TOTAL_TIME'] = '%.2f ms' % (c.getinfo(c.TOTAL_TIME)*1000) #獲取傳輸總時(shí)間
dic['HTTP_CODE'] = c.getinfo(c.HTTP_CODE) #獲取HTTP狀態(tài)碼
dic['SIZE_DOWNLOAD'] = '%d bytes/s' % (c.getinfo(c.SIZE_DOWNLOAD)) #獲取下載數(shù)據(jù)包大小
dic['HEADER_SIZE'] = '%d bytes/s' % (c.getinfo(c.HEADER_SIZE)) #獲取HTTP頭部大小
dic['SPEED_DOWNLOAD'] = '%d bytes/s' % (c.getinfo(c.SPEED_DOWNLOAD)) #獲取平均下載速度
for key in info:
print info[key],':',dic[key]
def main():
while True:
URL = raw_input("請(qǐng)輸入一個(gè)URL地址(Q for exit):")
if URL.lower() == 'q':
sys.exit()
else:
getInfo(URL)
if __name__ == '__main__':
main()
實(shí)現(xiàn)探測(cè)Web服務(wù)質(zhì)量
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門(mén)坐求,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蚕泽,“玉大人,你說(shuō)我怎么就攤上這事瞻赶∪悖” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵砸逊,是天一觀的道長(zhǎng)璧南。 經(jīng)常有香客問(wèn)我,道長(zhǎng)师逸,這世上最難降的妖魔是什么司倚? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮篓像,結(jié)果婚禮上动知,老公的妹妹穿的比我還像新娘。我一直安慰自己员辩,他們只是感情好盒粮,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著奠滑,像睡著了一般丹皱。 火紅的嫁衣襯著肌膚如雪妒穴。 梳的紋絲不亂的頭發(fā)上,一...
- 那天摊崭,我揣著相機(jī)與錄音讼油,去河邊找鬼。 笑死呢簸,一個(gè)胖子當(dāng)著我的面吹牛矮台,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播根时,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼瘦赫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了啸箫?” 一聲冷哼從身側(cè)響起耸彪,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤伞芹,失蹤者是張志新(化名)和其女友劉穎忘苛,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體唱较,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡扎唾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了南缓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胸遇。...
- 正文 年R本政府宣布逗威,位于F島的核電站,受9級(jí)特大地震影響岔冀,放射性物質(zhì)發(fā)生泄漏凯旭。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一使套、第九天 我趴在偏房一處隱蔽的房頂上張望罐呼。 院中可真熱鬧,春花似錦侦高、人聲如沸嫉柴。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)计螺。三九已至期奔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間危尿,已是汗流浹背呐萌。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像济欢,于是被迫代替她去往敵國(guó)和親赠堵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 這是利用系統(tǒng)的命令測(cè)試[root@www pycurl]# curl -I -s www.baidu.com |...
- 使用Python 2.7中pycurl模塊編寫(xiě)探測(cè)多節(jié)點(diǎn)Web服務(wù)質(zhì)量腳本 pycurl安裝與說(shuō)明 pycurl說(shuō)...
- 這幾天,小伙伴們的春節(jié)假期陸續(xù)結(jié)束切距,開(kāi)始返程開(kāi)工朽缎。 離家的時(shí)候,爸媽有沒(méi)有給你帶上家鄉(xiāng)的土特產(chǎn)呀谜悟? 這幾天一則新聞...
- 親愛(ài)的~我想與你一起享受看清晨第一縷照在床上的陽(yáng)光我想在你身上做话肖,春天對(duì)櫻桃樹(shù)做的事我想教你電影里“色色”的東西 ...