码迷,mamicode.com
首页 > Web开发 > 详细

pcurl 学习 http文件下载及写入空设备文件实例

时间:2015-01-27 21:50:54      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

import pycurl

import sys

import os

import random

import string

import time

 

 

class Transaction(object):    

  def __init__(self):        

    pass

     def run(self):        

    c = pycurl.Curl()        

    f=open(os.devnull, ‘wb‘)        

    c.setopt(c.URL,‘http://localhost/GeeHP5M1080P.mp4‘)        

    c.setopt(c.WRITEDATA,f)  #write download content to dev null      

    c.setopt(c.HTTPHEADER,["User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)",                

        "Accept: */*",                 "Range: bytes=0-",                 "GetContentFeatures.DLNA.ORG: 1",                 "Pragma: getIfoFileURI.dlna.org",                   "Accept-Language: zh-CN",                 "Accept-Encoding: gzip, deflate",                 "DNT: 1",                 "Host: {Host}"])        

     #c.setopt(c.BUFFERSIZE,655360)        

    c.setopt(c.LOW_SPEED_LIMIT,655360)        

    #c.setopt(c.MAX_RECV_SPEED_LARGE, 10485760)        

    #c.setopt(c.PROGRESSFUNCTION,self.progress)        

    c.setopt(c.FOLLOWLOCATION,1)        

    c.setopt(c.MAXREDIRS,5)        

    c.setopt(c.VERBOSE,1)        

    c.setopt(c.NOPROGRESS, 0)        

    c.perform()                

      http_code=c.getinfo(c.HTTP_CODE)        

      http_conn_time=c.getinfo(c.CONNECT_TIME)        

      http_pre_tran=c.getinfo(c.PRETRANSFER_TIME)        

      http_start_tran=c.getinfo(c.STARTTRANSFER_TIME)        

      http_total_time=c.getinfo(c.TOTAL_TIME)        

      http_size=c.getinfo(c.SIZE_DOWNLOAD)        

      http_rate=c.getinfo(c.SPEED_DOWNLOAD)        

    #print "http_code: %d"%(http_code)        

    #print "http_conn_time: %d"%(http_conn_time)        

    #print "http_pre_tran: %f"%(http_pre_tran)        

      #print "http_start_tran: %f"%(http_start_tran)        

    #print "http_total_time: %f"%(http_total_time)        

    #print "http_size: %f"%(http_size)        

    #print "http_rate: %f"%(http_rate)       

if __name__ == ‘__main__‘:    

  trans = Transaction()    

  trans.run()

pcurl 学习 http文件下载及写入空设备文件实例

标签:

原文地址:http://www.cnblogs.com/saryli/p/4254025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!