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聊天程序实例代码分享
Nov 18 Python
Python中正则表达式的详细教程
Apr 30 Python
Python使用Redis实现作业调度系统(超简单)
Mar 22 Python
windows下python之mysqldb模块安装方法
Sep 07 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
详解python中TCP协议中的粘包问题
Mar 22 Python
django drf框架中的user验证以及JWT拓展的介绍
Aug 12 Python
python构建指数平滑预测模型示例
Nov 21 Python
python深copy和浅copy区别对比解析
Dec 26 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
用python自动生成日历
Apr 24 Python
Python如何加载模型并查看网络
Jul 15 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中的比较运算符详解
2013/10/28 PHP
php+js实现异步图片上传实例分享
2014/06/02 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
定义select的边框颜色
2008/04/28 Javascript
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
20分钟打造属于你的Bootstrap站点
2016/07/27 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
使用python绘制常用的图表
2016/08/27 Python
Python实现字符串反转的常用方法分析【4种方法】
2017/09/30 Python
浅谈python的dataframe与series的创建方法
2018/11/12 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
Python调用飞书发送消息的示例
2020/11/10 Python
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
应届毕业生的自我鉴定
2013/11/13 职场文书
《都江堰》教学反思
2014/02/07 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
cf战队收人口号
2014/06/21 职场文书
2014年保险公司工作总结
2014/11/22 职场文书
2019教师的学习计划
2019/06/25 职场文书
七年级作文之冬景
2019/11/07 职场文书