检测web服务质量
来源:互联网 发布:网红淘宝店前十名男装 编辑:程序博客网 时间:2024/06/05 23:46
调用pycurl提供的方法,探测web服务质量,如响应http码,请求延时,http头信息,下载速度等
pycurl安装:
easy_install pycurl
pip install pycurl
源码安装:
源码安装curl
wget http://curl.haxx.se/download/curl-7.39.0.tar.gz
tar xf -->./configure-->make && make install-->export LD_LIBRARY_PATH=/usr/local/lib
wget https://pypi.python.org/packages/source/p/pycurl/pycurl-7.19.5.tar.gz --no-check-certificate
tar xf -->cd -->python setup.py install --curl-config=/usr/local/bin/curl-config
检验安装结果:
import pycurl
pycurl.version -->检验
检测web服务质量代码
webcheck.py
#!/usr/bin/env python
#encoding=utf-8
import os,sys
import time
import pycurl
URL="http://www.jd.com" #目标url
c=pycurl.Curl() #创建一个Curl对象
c.setopt(pycurl.URL,URL) #定义请求url
c.setopt(pycurl.CONNECTTIMEOUT,5) #定义请求连接的等待时间
c.setopt(pycurl.TIMEOUT,5) #定义请求超时时间
c.setopt(pycurl.NOPROGRESS,1) #屏蔽下载进度条,非0表示屏蔽,0表示不屏蔽
c.setopt(pycurl.FORBID_REUSE,1) #完成交互后强制断开连接,不重用
c.setopt(pycurl.MAXREDIRS,1) #指定http重定向的最大数为1
c.setopt(pycurl.DNS_CACHE_TIMEOUT,30) #设置保存dns信息的时间
#创建一个文件对象indexfile,以wb方式打开,存储返回的http头信息及页面内容
indexfile=open(os.path.dirname(os.path.realpath(__file__))+"/content.txt","wb")
c.setopt(pycurl.WRITEHEADER,indexfile) #将返回的http header定向到indexfile文件对象
c.setopt(pycurl.WRITEDATA,indexfile) #将返回的html内容定向到indexfile文件对象
try:
c.perform() #提交请求
except Exception,e:
print "connect error:"+str(e)
indexfile.close()
c.close()
sys.exit()
NAMELOOKUP_TIME=c.getinfo(c.NAMELOOKUP_TIME) #获取dns解析时间
CONNECT_TIME=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状态码
SIZE_DOWNLOAD=c.getinfo(c.SIZE_DOWNLOAD) #获取下载数据包大小
HEADER_SIZE=c.getinfo(c.HEADER_SIZE) #获取http头部大小
SPEED_DOWNLOAD=c.getinfo(c.SPEED_DOWNLOAD) #获取平均下载速度
print "HTTP状态码: %s" % (HTTP_CODE)
print "DNS解析时间: %.2f ms" % (NAMELOOKUP_TIME*1000)
print "建立连接时间: %.2f ms" % (CONNECT_TIME*1000)
print "准备传输时间: %.2f ms" % (PRETRANSFER_TIME*1000)
print "开始传输时间: %.2f ms" % (STARTTRANSFER_TIME*1000)
print "传输结束总时间: %.2f ms" % (TOTAL_TIME*1000)
print "下载数据包大小: %d bytes/s" % (SIZE_DOWNLOAD)
print "HTTP头部大小: %d bytes/s" % (HEADER_SIZE)
print "平均下载速度: %d bytes/s" % (SPEED_DOWNLOAD)
#关闭文件及curl对象
indexfile.close()
c.close()
- 检测web服务质量
- 【Python】检测Web服务质量
- pycurl+web服务质量检测
- python探测web服务质量
- python 探测web服务质量方法
- Python学习笔记-实现探测Web服务质量
- QOS服务质量
- QoS服务质量
- QoS - 服务质量
- 基于OWL-S的Web服务质量本体的描述模式的设计(转)
- 基于OWL-S的Web服务质量本体的描述模式的设计(转)
- 使用Python 2.7中pycurl模块编写探测多节点Web服务质量脚本
- web日志检测robot
- keepalive 检测web
- Web恶意代码检测方法
- Web应用指纹检测
- 服务质量的感触
- QoS(服务质量)指标
- OC语言--构造方法
- 养生视线--吃出健康大白菜的热点人群:[3]
- STVD生成HEX格式文件
- Tomcat7.0启动报错java.lang.NoClassDefFoundError org.apache.juli.logging.LogFactory
- 修改chromium的国际化资源
- 检测web服务质量
- java做的二维码客户端
- Ubuntu linux下添加硬盘的方法
- Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用
- 【CSS】解决IE rgba不兼容问题
- Mysql 使用InnoDB引擎创建独立表空间分区
- NOSQL-CounchBase-添加JSON对象测试。
- 判断字符串的字符是否只出现一次
- IOS基础之设置APP的名字、设置图标、添加等待加载时的图片