Python的pycurl包用法简介


Posted in Python onNovember 13, 2015

pycurl是功能强大的python的url包,是用c语言写的,速度很快,比urllib和httplib都快

调用方法:

import pycurl

c = pycurl.Curl()
c.setopt(pycurl.URL, 'http://api.minicloud.com.cn/statuses/public_timeline.xml')
import StringIO  #这个用到里面的write函数
b = StringIO.StringIO()
c.setopt(pycurl.WRITEFUNCTION, b.write) #把StringIO的写函数注册到pycurl的WRITEFUNCTION中,即pycurl所有获取的内容都写入到StringIO中,如果没有这一句,pycurl就会把所有的内容在默认的输出器中输出
c.perform()
print b.getvalue()

 

这里有一个小例子,用来获取微博上流行的短地址对应的真实地址的

import StringIO
import pycurl

c = pycurl.Curl()
str = StringIO.StringIO()
c.setopt(pycurl.URL, "http://t.cn/aKln8T")
c.setopt(pycurl.WRITEFUNCTION, str.write)
c.setopt(pycurl.FOLLOWLOCATION, 1)

c.perform()
print c.getinfo(pycurl.EFFECTIVE_URL)

 

可见pycurl是十分强大和简洁的,只是要熟悉它的很多属性,下面来看一些常用的:

pycurl.Curl() #创建一个pycurl对象的方法
pycurl.Curl(pycurl.URL, http://www.google.com.hk) #设置要访问的URL
pycurl.Curl().setopt(pycurl.MAXREDIRS, 5) #设置最大重定向次数
pycurl.Curl().setopt(pycurl.CONNECTTIMEOUT, 60)
pycurl.Curl().setopt(pycurl.TIMEOUT, 300) #连接超时设置
pycurl.Curl().setopt(pycurl.USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)") #模拟浏览器
pycurl.Curl().perform() #服务器端返回的信息
pycurl.Curl().getinfo(pycurl.HTTP_CODE) #查看HTTP的状态 类似urllib中status属性
pycurl.NAMELOOKUP_TIME 域名解析时间
pycurl.CONNECT_TIME 远程服务器连接时间
pycurl.PRETRANSFER_TIME 连接上后到开始传输时的时间
pycurl.STARTTRANSFER_TIME 接收到第一个字节的时间
pycurl.TOTAL_TIME 上一请求总的时间
pycurl.REDIRECT_TIME 如果存在转向的话,花费的时间
pycurl.EFFECTIVE_URL
pycurl.HTTP_CODE HTTP 响应代码
pycurl.REDIRECT_COUNT 重定向的次数
pycurl.SIZE_UPLOAD 上传的数据大小
pycurl.SIZE_DOWNLOAD 下载的数据大小
pycurl.SPEED_UPLOAD 上传速度
pycurl.HEADER_SIZE 头部大小
pycurl.REQUEST_SIZE 请求大小
pycurl.CONTENT_LENGTH_DOWNLOAD 下载内容长度
pycurl.CONTENT_LENGTH_UPLOAD 上传内容长度
pycurl.CONTENT_TYPE 内容的类型
pycurl.RESPONSE_CODE 响应代码
pycurl.SPEED_DOWNLOAD 下载速度
pycurl.SSL_VERIFYRESULT
pycurl.INFO_FILETIME 文件的时间信息
pycurl.HTTP_CONNECTCODE HTTP 连接代码
pycurl.HTTPAUTH_AVAIL
pycurl.PROXYAUTH_AVAIL
pycurl.OS_ERRNO
pycurl.NUM_CONNECTS
pycurl.SSL_ENGINES
pycurl.INFO_COOKIELIST
pycurl.LASTSOCKET
pycurl.FTP_ENTRY_PATH

Python 相关文章推荐
python解析模块(ConfigParser)使用方法
Dec 10 Python
python生成圆形图片的方法
Mar 25 Python
pandas带有重复索引操作方法
Jun 08 Python
linux安装python修改默认python版本方法
Mar 31 Python
python opencv 批量改变图片的尺寸大小的方法
Jun 28 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
Python操作Mongodb数据库的方法小结
Sep 10 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
python微信公众号开发简单流程实现
Mar 09 Python
Python操作Excel把数据分给sheet
May 20 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 Python
python Matplotlib数据可视化(1):简单入门
Sep 30 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 #Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 #Python
深入解析Python中的urllib2模块
Nov 13 #Python
Python下的常用下载安装工具pip的安装方法
Nov 13 #Python
Python的Flask框架的简介和安装方法
Nov 13 #Python
Python编程入门之Hello World的三种实现方式
Nov 13 #Python
python编程开发之textwrap文本样式处理技巧
Nov 13 #Python
You might like
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
javascript new一个对象的实质
2010/01/07 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
js调用后台servlet方法实例
2013/06/09 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
Vue组件化开发思考
2018/02/02 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
Python实现基于权重的随机数2种方法
2015/04/28 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
详解Python sys.argv使用方法
2019/05/10 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
pycharm设置python文件模板信息过程图解
2020/03/10 Python
python 下划线的不同用法
2020/10/24 Python
python 如何引入协程和原理分析
2020/11/30 Python
css3动画事件—webkitAnimationEnd与计时器time事件
2013/01/31 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
白酒业务员岗位职责
2013/12/27 职场文书
房地产销售计划书
2014/01/10 职场文书
网上签名寄语活动留言
2014/01/18 职场文书
会务接待方案
2014/02/27 职场文书
艺术节主持词
2014/04/02 职场文书
工作失职检讨书500字
2014/10/17 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书