zoukankan      html  css  js  c++  java
  • Python之检查URL

    # -*- coding: utf-8 -*-
    import os,sys
    import time
    import sys
    import pycurl
    
    #URL="http://www.baidu.com"
    if len(sys.argv) < 2:
        print "usage: check_url.py URL"
        sys.exit(2)
    
    URL=sys.argv[1]
    
    c = pycurl.Curl()
    c.setopt(pycurl.URL, URL)
                    
    #连接超时时间,5秒
    c.setopt(pycurl.CONNECTTIMEOUT, 5)
    
    #下载超时时间,5秒
    c.setopt(pycurl.TIMEOUT, 10)
    c.setopt(pycurl.FORBID_REUSE, 5)
    c.setopt(pycurl.MAXREDIRS, 5)
    c.setopt(pycurl.NOPROGRESS, 5)
    c.setopt(pycurl.DNS_CACHE_TIMEOUT,50)
    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,e:
        print "connecion 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()
  • 相关阅读:
    ES6 Set.Map.Symbol数据结构
    ES6 class类 静态方法及类的继承
    ES6 浅谈Reflect
    ES6 proxy代理详解及用法
    Vue之生命周期函数
    Vue之自定义键盘修饰符、自定义指令
    v-show和v-if区别
    迭代器iterator
    es6之Proxy代理
    es6之symbol数据类型
  • 原文地址:https://www.cnblogs.com/madsnotes/p/5682780.html
Copyright © 2011-2022 走看看