美文网首页
Python 下pycurl模块

Python 下pycurl模块

作者: Beam_L | 来源:发表于2016-10-18 15:01 被阅读0次
    '''
    
    close()方法,对应libcurl包中的curl_easy_cleanup方法,无参数,实现关闭、回收curl对象
    
    '''
    
    '''
    
    perform()方法,对应libcurl包中的curl_easy_perform方法,无参数,实现curl对象请求的提交
    
    '''
    
    '''
    
    setopt(option,value)方法,对应libcurl包中的curl_easy_setopt方法,参数option是通过libcurl的常量来指定,参数value的值依赖
    
    于option,以下是常用的
    
    '''
    
    c 
    =
     pycurl.Curl()  
    #创建一个curl对象
    
    c.setopt(pycurl.CONNECTTIMEOUT,
    5
    )   
    #连接得等待时间,设置为0则不等待
    
    c.setopt(pycurl.TIMEOUT,
    5
    )          
    #请求超时时间
    
    c.setopt(pycurl.NOPROGRESS,
    0
    )       
    #是否屏蔽下载进度条,非0则屏蔽
    
    c.setopt(pycurl.MAXREDIRS,
    5
    )        
    #指定HTTP重定向的最大数
    
    c.setopt(pycurl.FORBID_REUSE,
    1
    )     
    #完成交互后强制断开链接,不重用
    
    c.setopt(pycurl.FRESH_CONNECT,
    1
    )    
    #强制获取新的连接,即替代缓存中的连接
    
    c.setopt(pycurl.DNS_CACHE_TIMEOUT,
    60
    )  
    #设置保存DNS信息的时间,默认为120秒
    
    c.setopt(pycurl.URL,
    '[http://blog.beam.pub](http://blog.beam.pub/)'
    )    
    #请求指定的URL
    
    c.setopt(pycurl.USERAGENT,
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 OPR/40.0.2308.81 (Edition Baidu)"
    )   
    #配置请求http头的User-Agent
    
    c.setopt(pycurl.HEADERFUNCTION,getheader)   
    #将返回的http header定向到回调函数getheader
    
    c.setopt(pycurl.WRITEFUNCTION,getbody)      
    #将返回的内容定向到回调函数
    
    c.setopt(pycurl.WRITEHEADER,fileeobj)       
    #将返回的http header定向到fileobj文件对象
    
    c.setopt(pycurl.WRITEDATA,fileobj)          
    #将返回的HTML内容定向到fileobj文件对象
    
    '''
    
    getinfo(option)方法,对应libcurl包中的curl_easy_getinfo方法,参数option是通过libcurl的常量来指定的,以下是常用的
    
    '''
    
    c 
    =
     pycurl.Curl()
    
    c.getinfo(pycurl.HTTP_CODE)         
    #返回HTTP状态码
    
    c.getinfo(pycurl.TOTAL_TIME)        
    #传输结束所消耗的总时间
    
    c.getinfo(pycurl.NAMELOOKUP_TIME)   
    #DNS解析所消耗的时间
    
    c.getinfo(pycurl.CONNECT_TIME)      
    #建立连接所消耗的时间
    
    c.getinfo(pycurl.PRETRANSFER_TIME)  
    #从建立连接到准备传输所消耗的时间
    
    c.getinfo(pycurl.STARTTRANSFER_TIME)
    #从建立连接到开传输开始所消耗的时间
    
    c.getinfo(pycurl.REDIRECT_TIME)     
    #重定向所消耗的时间
    
    c.getinfo(pycurl.SIZE_UPLOAD)       
    #上传数据包大小
    
    c.getinfo(pycurl.SIZE_DOWNLOAD)     
    #下载数据包大小
    
    c.getinfo(pycurl.SPEED_DOWNLOAD)    
    #平均下载速度
    
    c.getinfo(pycurl.SPEED_UPLOAD)      
    #平均上传速度
    
    c.getinfo(pycurl.HEADER_SIZE)       
    #HTTP头部大小
    

    相关文章

      网友评论

          本文标题:Python 下pycurl模块

          本文链接:https://www.haomeiwen.com/subject/otktuttx.html