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实现提取谷歌音乐搜索结果的方法
Jul 10 Python
Python 探针的实现原理
Apr 23 Python
python通过百度地图API获取某地址的经纬度详解
Jan 28 Python
Django添加feeds功能的示例
Aug 07 Python
APIStar:一个专为Python3设计的API框架
Sep 26 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
Python+OpenCV实现将图像转换为二进制格式
Jan 09 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 Python
如何将json数据转换为python数据
Sep 04 Python
python利用文件时间批量重命名照片和视频
Feb 09 Python
Matlab如何实现矩阵复制扩充
Jun 02 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
学习PHP Cookie处理函数
2016/08/09 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
$.format,jquery.format 使用说明
2011/07/13 Javascript
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
Python读写ini文件的方法
2015/05/28 Python
利用python画一颗心的方法示例
2017/01/31 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
法国体育用品商店:GO Sport
2019/10/23 全球购物
专题组织生活会方案
2014/06/15 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
卫生主题班会
2015/08/14 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书