测试网站页面网速的一个简单Python脚本

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

无聊之余,下面分享一个Python小脚本:测试网站页面访问速度

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
44
[root@huanqiu ~] # vim pywww.py
#!/usr/bin/python
# coding: UTF-8
import  StringIO,pycurl,sys,os, time
 
class idctest:
     def __init__(self):
           self.contents =  ''
     def body_callback(self,buf):
           self.contents = self.contents + buf
 
def test_gzip(input_url):
     t = idctest()
     #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.setopt(pycurl.MAXREDIRS, 5)
     c.perform()
 
     http_code = c.getinfo(pycurl.HTTP_CODE)
     dns_resolve = c.getinfo(pycurl.NAMELOOKUP_TIME)
     http_conn_time = c.getinfo(pycurl.CONNECT_TIME)
     http_pre_trans = c.getinfo(pycurl.PRETRANSFER_TIME)
     http_start_trans = c.getinfo(pycurl.STARTTRANSFER_TIME)
     http_total_time = c.getinfo(pycurl.TOTAL_TIME)
     http_size_download = c.getinfo(pycurl.SIZE_DOWNLOAD)
     http_header_size = c.getinfo(pycurl.HEADER_SIZE)
     http_speed_downlaod = c.getinfo(pycurl.SPEED_DOWNLOAD)
 
     print  'HTTP响应状态: %d'  %http_code
     print  'DNS解析时间:%.2f ms'  %(dns_resolve*1000)
     print  '建立连接时间: %.2f ms'  %(http_conn_time*1000)
     print  '准备传输时间: %.2f ms'  %(http_pre_trans*1000)
     print  "传输开始时间: %.2f ms"  %(http_start_trans*1000)
     print  "传输结束时间: %.2f ms"  %(http_total_time*1000)
     print  "下载数据包大小: %d bytes/s"  %http_size_download
     print  "HTTP头大小: %d bytes/s"  %http_header_size
     print  "平均下载速度: %d k/s"  %(http_speed_downlaod /1024 )
 
if  __name__ ==  '__main__' :
    input_url = sys.argv[1]
    test_gzip(input_url)

赋予脚本执行权限

1
[root@huanqiu ~] # chmod 755 pywww.py

测试网页,比如www.huanqiu.com

1
2
3
4
5
6
7
8
9
10
[root@huanqiu ~] # python pywww.py www.huanqiu.com
HTTP响应状态: 200
DNS解析时间:2.56 ms
建立连接时间: 4.92 ms
准备传输时间: 4.93 ms
传输开始时间: 13.08 ms
传输结束时间: 17.71 ms
下载数据包大小: 40101 bytes /s
HTTP头大小: 356 bytes /s
平均下载速度: 2210 k /s
***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************


本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/5840951.html,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
安全 测试技术 网络安全
如何在Python Web开发中进行安全测试?
如何在Python Web开发中进行安全测试?
|
2月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
38 4
|
8天前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
106 60
|
2月前
|
数据采集 监控 数据挖掘
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
|
14天前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
115 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
28天前
|
数据采集 存储 监控
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
86 7
21个Python脚本自动执行日常任务(2)
|
18天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
78 5
|
1月前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
51 7
|
1月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
2月前
|
SQL 测试技术 API
如何编写API接口的自动化测试脚本
本文详细介绍了编写API自动化测试脚本的方法和最佳实践,涵盖确定测试需求、选择测试框架、编写测试脚本(如使用Postman和Python Requests库)、参数化和数据驱动测试、断言和验证、集成CI/CD、生成测试报告及维护更新等内容,旨在帮助开发者构建高效可靠的API测试体系。