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.入口函数,初始化界面,我这里是直接是一个 ...
随机推荐
- ListView 拖拽
private void ListView1_MouseMove(object sender, MouseEventArgs e) { Patientappointment appointment = ...
- 【图解】javaScript组成结构
- Java从零开始学二十九(大数操作(BigIntger、BigDecimal)
一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中 ...
- 【Maven】IKAnalyzer 在Maven Repository不存在
1.在mvnrepository里面找IKAnalyzer,这个中文分词包,一直没有找到,找到github,发现是一个国人写的. http://mvnrepository.com/search?q=I ...
- Codeforces Round #228 (Div. 1) C 贪心
嘎嘎,今天被一些事耽误了,可是还是A了几个题目,这道题还不错 题目链接: 题意:两个人玩游戏,有N堆纸牌,纸牌上有数字,A每次仅仅能取N堆中的 当中一个的顶部的 纸牌,B仅仅能取N堆中的当中一个底部 ...
- ORA-01109:数据库未打开(解决)
SQL> startup mountORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它SQL> shutdown immediateORA-01109: 数据库未打开 ...
- visudo精确用户赋权(sudo)
原文BLOG:http://iminmin.blog.51cto.com/689308/455992 sudo" 是Unix/Linux平台上的一个非常有用的工具,允许为非根用户赋予一些合理 ...
- maven 创建web项目的标准目录结构
maven 创建web项目的标准目录结构 CreateTime--2018年4月18日21:05:37 Author:Marydon 1.标准目录介绍(开发目录) 2.在eclipse下,目录展示 ...
- Java基础2-容器篇
java基础2-容器篇 1.页首请关注 思维导航大纲 1.常用容器的类型层次结构 2.理解容器的常用思维大纲 a.空间 时间 concurrentModifyException 加载因子 3.常用类源 ...
- cocos2dx跟eclipse交叉编译“make: * No rule to make target `all' Stop”的解决方案
cocos2dx和eclipse交叉编译“make: *** No rule to make target `all'. Stop”的解决方案 搞cocos2dx在eclipse上的交叉编译. 项目. ...