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!

  • 相关阅读:
    mysql workbench 建表时PK, NN, UQ, BIN, UN, ZF, AI
    Asan检测内存读越界
    C 实现 C++ 的面向对象特性(封装、继承、多态)
    VIBE算法
    Go 大坑 nil
    求二叉树中节点的最大距离
    计算[1,N]范围内含有7的数字的个数
    一组便于创建线程和线程池的简单封装函数
    用C#执行doc命令
    可以自由停靠的窗体!
  • 原文地址:https://www.cnblogs.com/changbo/p/5591961.html
Copyright © 2011-2022 走看看