pcurl 学习 http文件下载及写入空设备文件实例
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文件下载及写入空设备文件实例的更多相关文章
- flask 中使用蓝图将路由分开写在不同文件
flask 若想将不同的路由写在不同的文件中(如将 user 对象的相关接口写在一个文件中,将 customer 对象的相关接口写在另一个文件中),可以使用蓝图来实现. 有关蓝图的定义:A Bluep ...
- [Android L]SEAndroid开放设备文件结点权限(读或写)方法(涵盖常用操作:sys/xxx、proc/xxx、SystemProperties)
温馨提示 建议你先了解一下上一篇博文([Android L]SEAndroid增强Androd安全性背景概要及带来的影响)所讲的内容,先对SEAndroid窥个全貌,然后再继续本节内容. ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- 深度学习之 mnist 手写数字识别
深度学习之 mnist 手写数字识别 开始学习深度学习,先来一个手写数字的程序 import numpy as np import os import codecs import torch from ...
- Linux学习之CentOS(六)---mount挂载设备(u盘,光盘,iso等 )
对于新手学习,mount 命令,一定会有很多疑问.其实我想疑问来源更多的是对linux系统本身特殊性了解问题. linux是基于文件系统,所有的设备都会对应于:/dev/下面的设备.如: [cheng ...
- 由于想要实现下载的文件可以进行选择,而不是通过<a>标签写死下载文件的参数,所以一直想要使用JFinal结合ajax实现文件下载,但是ajax实现的文件下载并不能触发浏览器的下载文件弹出框,这里通过模拟表单提交实现同样的效果。
由于想要实现下载的文件可以进行选择,而不是通过<a>标签写死下载文件的参数,所以一直想要使用JFinal结合ajax实现文件下载(这样的话ajax可以传递不同的参数),但是ajax实现的文 ...
- iOS学习笔记-自己动手写RESideMenu
代码地址如下:http://www.demodashi.com/demo/11683.html 很多app都实现了类似RESideMenu的效果,RESideMenu是Github上面一个stars数 ...
- 教你写Linux设备驱动程序:一个简短的教程
教你写Linux设备驱动程序:一个简短的教程 http://blog.chinaunix.net/uid-20799298-id-99675.html
- 学习js与css 写个2048
学习阶段,还是写点小东西练练手学的有意思一点,今天用栅格布局做了一个2048,但是移动动画和合并特效没有做,只简单的实现了一下功能. 记录一下学习的过程. 1.入口函数,初始化界面,我这里是直接是一个 ...
随机推荐
- Android制作曲线、柱状图、饼形等图表——使用AChartEngine
之前在java开发中实现图表使用JFreeChar组件,最近有个小项目要求在Android端进行数据分析,如何实现图表呢?查了一下google提供了一个开源组件Achartengine非常好用,可实现 ...
- COM中的几个基本概念
类厂 组件结构示例 DllGetClassObject COM库与类厂的交互
- [Javascript] Prototype, hasOwnProperty(), valueOf() and toString() methods.
Sometime, use can rewrite the toString , valueOf method to make those function more useful: For exma ...
- Hibernate(十四)缓存
一.什么是缓存 缓存是介于应用程序和永久必数据存储源之间,目的是为了降低应用程序直接读写永久必数据存储源的频率,从而提高运行性能 缓存通常是在内存中的如: Office中的Word.excel Hib ...
- html字符转义
常用表: No. 文字表記 10進表記 16進表記 文字 Comment 001 " " " """ quotation mark ...
- spring task:annotation-driven 定时任务
1.配置文件加上<task:annotation-driven/> 2.要运行的方法前加上 @Scheduled(cron="0 00 12 1 * ?") //每月 ...
- libevent个人理解
1.利用了前置声明来在c语言的基础上进行封装操作.即在include目录下防止event.h等头文件,在这些头文件中只暴露struct的声明却不暴露其定义,对于如event_base等结构的操作均使用 ...
- Autocomplete in ASP.NET MVC3自动检索并填充输入框
1.单一产品情况下使用: public ActionResult GetStockList() { var item = _db.Stocks.ToList().Select(s =>s.Pro ...
- 〖Linux〗clang3.4的编译与安装
1. 编译与安装clang3.4 sudo apt-get install -y g++ subversion cmake cd ~ mkdir Clang && cd Clang s ...
- 自定义网站的icon和收藏夹图标
定制网站收藏夹图标的方法有两种: 第一种方法: 第一步,当然是准备一个能体现您的主页的风格和个性的图标.比较简便的办法除了下载,就是将您的网站的logo做成一个图标. 第二步,将这个图标文件命名为:f ...