zoukankan      html  css  js  c++  java
  • python之web业务质量检测

    不知为何,也许我对pycurl模块了解不够透彻的原因吧,测出来的时间与firebug所得不同,但是firebug是对的,这点我肯定

    仍将学习到的代码贴出如下

    #!/usr/local/bin/python3.5
    # -*- coding: utf-8 -*-
    import pycurl
    import time
    import os
    import sys
    
    URL = "http://xxx.xxxx.xxx.xx"
    c = pycurl.Curl()
    c.setopt(pycurl.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)
    c.setopt(pycurl.DNS_CACHE_TIMEOUT, 30)
    
    indexfile = open(os.path.dirname(os.path.realpath(__file__)) + "/content.txt", "wb")
    c.setopt(pycurl.WRITEHEADER, indexfile)
    c.setopt(pycurl.WRITEDATA, indexfile)
    
    try:
        c.perform()
    except Exception as e:
        print("connection error :" + str(e))
        indexfile.close()
        c.close()
        sys.exit()
    
    NAMELOOKUP_TIME = c.getinfo(c.NAMELOOKUP_TIME)
    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)
    SIZE_DOWNLOAD = c.getinfo(c.SIZE_DOWNLOAD)
    HEADER_SIZE = c.getinfo(c.HEADER_SIZE)
    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 byte" % (HEADER_SIZE))
    print("平均下载速度:%d bytes/s" % (SPEED_DOWNLOAD))
    indexfile.close()
    c.close()

    测的结果

    END!

  • 相关阅读:
    idea 从svn导入项目遇到的错误
    用sql语句处理字符串以逗号截开分别获取值
    tree grid 实现编辑保存然后整体存入数据库
    EasyUI的TreeGrid的json格式,树状图显示问题
    vue.js--菜鸟级入门
    Django3.0知识笔记——WSGI&ASGI是什么?
    open stack
    shell脚本简介及常用文本编辑命令
    shell脚本之变量与运算符
    shell编程之流程控制(for、while、case、break、continue)
  • 原文地址:https://www.cnblogs.com/changbo/p/5591961.html
Copyright © 2011-2022 走看看