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

简介:

无聊之余,下面分享一个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,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
536 1
|
8月前
|
JSON 算法 API
深度分析小红书城API接口,用Python脚本实现
小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
|
8月前
|
JSON API 数据安全/隐私保护
【干货满满】分享微店API接口到手价,用python脚本实现
微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
|
8月前
|
JSON API 数据格式
深度分析大麦网API接口,用Python脚本实现
大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
|
8月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
571 18
|
8月前
|
JSON API 开发者
深度分析阿里妈妈API接口,用Python脚本实现
阿里妈妈是阿里巴巴旗下营销平台,提供淘宝联盟、直通车等服务,支持推广位管理、商品查询等API功能。本文详解其API调用方法,重点实现商品推广信息(佣金、优惠券)获取,并提供Python实现方案。
|
8月前
|
JSON API 数据安全/隐私保护
深度分析虾皮城API接口,用Python脚本实现
虾皮开放平台提供丰富的API接口,支持商品管理、订单处理及促销信息查询等功能。本文详解API认证机制与调用方法,基于Python实现商品价格及到手价获取方案,适用于电商数据分析与运营。
|
8月前
|
JSON API 数据安全/隐私保护
【干货满满】分享拼多多API接口到手价,用python脚本实现
拼多多开放平台提供商品价格查询API,通过“pdd.ddk.goods.detail”接口可获取商品基础价、优惠券、拼团价等信息。结合client_id、client_secret及签名机制实现身份认证,支持推广位ID获取专属优惠。本文提供完整Python实现,涵盖签名生成、接口调用与价格解析逻辑,适用于比价工具、导购平台等场景。
|
8月前
|
API 数据安全/隐私保护 开发者
深度分析苏宁API接口,用Python脚本实现
深度分析苏宁API接口,用Python脚本实现
|
8月前
|
前端开发 Shell API
深度分析58同城API接口,用Python脚本实现
58同城为国内知名分类信息平台,涵盖房产、招聘、二手车等多领域。本文基于网页抓包与解析,分享其非官方接口的Python实现方案,分析核心接口特性与反爬应对策略,适用于数据学习与信息聚合。注意:非官方接口存在风险,使用需遵守平台规则。

推荐镜像

更多