Python 自动化运维 pycurl

简介:

  1.探测web服务质量(HTTP状态码,请求延时,HTTP头信息,下载速度等)

   web服务质量:1.服务可用性

                          2.服务响应速度

  2.实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import  os,sys  
import  pycurl
import  time
URL  =  "http://www.baidu.com"   ##目录的URL
=  pycurl.Curl()      ##实例化
c.setopt(pycurl.URL,URL)      ##定义请求的URL常量
c.setopt(pycurl.CONNECTTIMEOUT,  5 )   ##定义请求连接等待时间
c.setopt(pycurl.TIMEOUT,  5 )      ##定义请求超时时间
c.setopt(pycurl.NOPROGRESS,  1 )     ##屏蔽下载进度条
c.setopt(pycurl.FORBID_REUSE,  1 )      ##完成交互后强制断开连接,不重用
c.setopt(pycurl.MAXREDIRS,  1 )      ##指定HTTP重定向的最大数为1
c.setopt(pycurl.DNS_CACHE_TIMEOUT, 30 )    ##设置保存DNS信息的时间为30S
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  "error"
     indexfile.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  "传输开始时间: %2.f ms"  % (STARTTRANSFER_TIME * 1000 )
print  "传输结束总时间: %.2f ms"  % (TOTAL_TIME * 1000 )
print  "下载数据包大小: %d bytes/s"  % (SIZE_DOWNLOAD)
print  "HTTP头部大小: %d byte"  % (HEADER_SIZE)
print  "平均下载速度:%d bytes/s" % (SPEED_DOWNLOAD)
 
indexfile.close()  ##关闭文件
c.close()   ##关闭Curl对象


测试

wKioL1nd-hnRdwd4AAB7f2BkHTM734.png

本文转自  red777    51CTO博客,原文链接:http://blog.51cto.com/12314711/1971518


相关文章
|
7天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
23天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
15 2
|
1月前
|
存储 BI 数据处理
Python自动化 | 解锁高效办公利器,Python助您轻松驾驭Excel!
Python自动化 | 解锁高效办公利器,Python助您轻松驾驭Excel!
|
1月前
|
JavaScript 前端开发 Python
【python自动化】Playwright基础教程(三)定位操作
【python自动化】Playwright基础教程(三)定位操作
48 0
|
1月前
|
测试技术 API 数据处理
Python办公自动化:解锁高效工作流程,掌握文档处理的艺术
Python办公自动化:解锁高效工作流程,掌握文档处理的艺术
73 1
|
1月前
|
Python
【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲
【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲
47 0
|
10天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
14天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
34 6
|
29天前
|
Web App开发 前端开发 JavaScript
Python Selenium是一个强大的自动化测试工具
Python Selenium是一个强大的自动化测试工具
|
1月前
|
数据采集 测试技术 Python
Python自动化脚本的魅力与实践
Python自动化脚本的魅力与实践
48 0

热门文章

最新文章