测试网站页面网速的Python脚本

Posted 努力哥-运维自动化

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试网站页面网速的Python脚本相关的知识,希望对你有一定的参考价值。

一、测试网站页面网速脚本

[root@salt ~]# cat check_url.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)

#授执行权限并运行脚本

#授执行权限
[root@salt ~]# chmod +x check_url.py 

#运行脚本
[root@salt ~]# python check_url.py www.baidu.com
HTTP响应状态: 200
DNS解析时间:41.01 ms
建立连接时间: 62.14 ms
准备传输时间: 62.57 ms
传输开始时间: 120.10 ms
传输结束时间: 126.41 ms
下载数据包大小: 32007 bytes/s
HTTP头大小: 965 bytes/s
平均下载速度: 247 k/s

  

以上是关于测试网站页面网速的Python脚本的主要内容,如果未能解决你的问题,请参考以下文章

python 使用pycurl来测网站的网速

python 使用pycurl来测网站的网速

常用python日期日志获取内容循环的代码片段

js 测试服务器网速

超酷的测速网站Ookla SPEEDTEST

linux网速测试