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.入口函数,初始化界面,我这里是直接是一个 ...
随机推荐
- JSP简单练习-定时刷新页面
<%@ page contentType="text/html; charset=gb2312" %> <%@ page import="java.ut ...
- Redis自学笔记–Zset类型及管理简述
Zset类型 ...
- (转)PlayerPrefs游戏存档
unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs.工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值. PlayerPr ...
- Linux shell 脚本入门教程+实例
原文:http://www.wiquan.com/article/136 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的工具.She ...
- [Backbone] Verying Views
Below we have our AppointmentsView instance rendering and then taking the rendered HTML and insertin ...
- 支持各种控件上/下拉刷新的android-pulltorefresh
android- pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新,如ListView.ViewPager.WevView. ExpandableListView.Grid ...
- C#.NET常见问题(FAQ)-浮点数如何四舍五入
使用Math.Round方法即可实现保留指定的小数点后面位数,这种方法返回的还是double类型,而ToString方法并没有做实际转换 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: ...
- UE如何使用正则表达式
1 基本概念 元字符: 元字符 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符() \d 匹配数字 \b 匹配单词的开始或结束 \W 匹配任意不是字母 ...
- Ajax中文传参出现乱码
Ajax技术的核心为Javascript,而javascript使用的是UTF-8编码,因此在页面采用GBK或者其他编码,同时没有进行编码转换时,就会出现中文乱码的问题. 以下是分别使用GET和POS ...
- 通过修改css文件来观察openerp表单中的col和colspan
适用版本 openerp 6.1.1 问题的提出 在openerp的表单定义中, 要使用 colspan和col 指你定各个元素的占位, 前者说明了本元素占据其所在容器的列数, 后者说明了本元素作为容 ...