• Pycurl获取http响应过程时间


    安装

    pip install pycurl

    示例代码

    import pycurl
    
    class Test:
        def __init__(self):
            self.contents = ''
    
        def body_callback(self, buf):
            self.contents = self.contents + buf
    
    def gzip(url):
        t = Test()
        c = pycurl.Curl()
        # c.setopt(pycurl.WRITEFUNCTION, t.body_callback)
        # c.setopt(pycurl.ENCODING,'gzip')
        c.setopt(pycurl.URL, url)
        c.perform()
    
        print('状态码', c.getinfo(pycurl.HTTP_CODE))
        print('域名解析时间', c.getinfo(pycurl.NAMELOOKUP_TIME))
        print('远程服务器连接时间', c.getinfo(pycurl.CONNECT_TIME))
        print('连接上后到开始传输时的时间', c.getinfo(pycurl.PRETRANSFER_TIME))
        print('接收到第一个字节的时间', c.getinfo(pycurl.STARTTRANSFER_TIME))
        print('上一请求总的时间', c.getinfo(pycurl.TOTAL_TIME))
        print('如果存在转向的话,花费的时间', c.getinfo(pycurl.REDIRECT_TIME))
    if __name__ == '__main__':
        gzip('https://github.com/hanzhichao')
    

    pycurl 的一些响应信息

    <参考: http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html>

    • pycurl.NAMELOOKUP_TIME 域名解析时间
    • pycurl.CONNECT_TIME 远程服务器连接时间
    • pycurl.PRETRANSFER_TIME 连接上后到开始传输时的时间
    • pycurl.STARTTRANSFER_TIME 接收到第一个字节的时间
    • pycurl.TOTAL_TIME 上一请求总的时间
    • pycurl.REDIRECT_TIME 如果存在转向的话,花费的时间
    • pycurl.EFFECTIVE_URL
    • pycurl.HTTP_CODE HTTP 响应代码
    • pycurl.REDIRECT_COUNT 重定向的次数
    • pycurl.SIZE_UPLOAD 上传的数据大小
    • pycurl.SIZE_DOWNLOAD 下载的数据大小
    • pycurl.SPEED_UPLOAD 上传速度
    • pycurl.HEADER_SIZE 头部大小
    • pycurl.REQUEST_SIZE 请求大小
    • pycurl.CONTENT_LENGTH_DOWNLOAD 下载内容长度
    • pycurl.CONTENT_LENGTH_UPLOAD 上传内容长度
    • pycurl.CONTENT_TYPE 内容的类型
    • pycurl.RESPONSE_CODE 响应代码
    • pycurl.SPEED_DOWNLOAD 下载速度
    • pycurl.SSL_VERIFYRESULT
    • pycurl.INFO_FILETIME 文件的时间信息
    • pycurl.HTTP_CONNECTCODE HTTP 连接代码
    • pycurl.HTTPAUTH_AVAIL
    • pycurl.PROXYAUTH_AVAIL
    • pycurl.OS_ERRNO
    • pycurl.NUM_CONNECTS
    • pycurl.SSL_ENGINES
    • pycurl.INFO_COOKIELIST
    • pycurl.LASTSOCKET
    • pycurl.FTP_ENTRY_PATH
  • 相关阅读:
    Linux下彻底卸载LibreOffice方法
    Docker查看关联容器的卷宗在本机的存储位置
    Ubuntu技巧之清理系统中无用的软件包
    进入一个docker容器
    Status Code:405 Method Not Allowed
    ubuntu安装docker
    今天犯的一个低级错误
    Eclipse中Ctrl+Shift+f快捷键无效的解决方式
    hdu 4742 Pinball Game 3D(三维LIS&amp;cdq分治&amp;BIT维护最值)
    linux下vi编辑文件
  • 原文地址:https://www.cnblogs.com/superhin/p/16340055.html
Copyright © 2020-2023  润新知