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 相关文章推荐
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 Python
Python 制作糗事百科爬虫实例
Sep 22 Python
Python 专题一 函数的基础知识
Mar 16 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
Jun 26 Python
win7下python3.6安装配置方法图文教程
Jul 31 Python
对python实现二维函数高次拟合的示例详解
Dec 29 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 Python
python使用paramiko实现ssh的功能详解
Mar 06 Python
python转化excel数字日期为标准日期操作
Jul 14 Python
Python word文本自动化操作实现方法解析
Nov 05 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
怎样在php中使用PDF文档功能
2006/10/09 PHP
PHP提取中文首字母
2008/04/09 PHP
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
javaScript基础详解
2017/01/19 Javascript
JavaScript中动态向表格添加数据
2017/01/24 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
Python数据结构之图的应用示例
2018/05/11 Python
Django实现auth模块下的登录注册与注销功能
2019/10/10 Python
python 星号(*)的多种用途
2020/09/21 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
日本7net购物网:书籍、漫画、杂志、DVD、游戏邮购
2017/02/17 全球购物
应届毕业生求职自荐书
2014/01/03 职场文书
优秀企业获奖感言
2014/02/01 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
社会工作专业自荐信
2014/09/26 职场文书
人事局接收函
2015/01/30 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
JavaScript ES6的函数拓展
2022/01/18 Javascript