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代码嵌入C++程序进行编写的实例
Jul 31 Python
python编程开发之日期操作实例分析
Nov 13 Python
python将unicode转为str的方法
Jun 21 Python
python方向键控制上下左右代码
Jan 20 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
Dec 05 Python
Python基于Tkinter模块实现的弹球小游戏
Dec 27 Python
PyQt5+requests实现车票查询工具
Jan 21 Python
django-rest-swagger的优化使用方法
Aug 29 Python
基于Python实现签到脚本过程解析
Oct 25 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
python 镜像环境搭建总结
Sep 23 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
dedecms模板标签代码官方参考
2007/03/17 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
jQuery的三种$()
2009/12/30 Javascript
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
linux面试题参考答案(2)
2015/12/06 面试题
英文版餐饮运营管理求职信
2013/11/06 职场文书
计算机应用专业推荐信
2013/11/13 职场文书
师范大学应届生求职信
2013/11/21 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
司法所长先进事迹
2014/06/02 职场文书
音乐教师求职信
2014/06/28 职场文书
聘用合同范本
2015/09/21 职场文书
2016党校学习心得体会范文
2016/01/07 职场文书