简单谈谈Python的pycurl模块


Posted in Python onApril 07, 2018

pycurl是一个用c语言编写的libcurl Python实现,功能非常强大,支持操作协议有FTP,HTTP,HTTPS,TELNET等。

模块的常用方法说明:

close()方法,对应libcurl包中的curl_easy_cleanup方法,无参数,实现关闭、回收Curl对象。
·perform()方法,对应libcurl包中的curl_easy_perform方法,无参数,实现Curl对象请求的提交。
·setopt(option,value)方法,对应libcurl包中的curl_easy_setopt方法,参数option是通过libcurl的常量来指定的.参数value的值会依赖option,可以是一个字符串、整型、长整型、文件对象、列表或函数等

pycurl.Curl()    #创建一个curl对象
c.setopt(pycurl.CONNECTTIMEOUT,5)    #连接的等待时间,设置为0则不等待
c.setopt(pycurl.TIMEOUT,5)    #请求超时时间
c.setopt(pycurl.NOPROGRESS,0)    #是否屏蔽下载进度条,非0则屏蔽
c.setopt(pycurl.MAXREDIRS,5)    #指定HTTP重定向的最大数
c.setopt(pycurl.FORBID_REUSE,1)    #完成交互后强制断开连接,不重用
c.setopt(pycurl.FRESH_CONNECT,1)    #强制获取新的连接,即替代缓存中的连接
c.setopt(pycurl.DNS_CACHE_TIMEOUT,60)    #设置保存DNS信息的时间,默认为120秒
c.setopt(pycurl.URL,"http://www.baidu.com")    #指定请求的URL
c.setopt(pycurl.USERAGENT,"Mozilla/5.2(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR1.1.4322;.NETCLR2.0.50324)")#配置请求HTTP头的User-Agent
c.setopt(pycurl.HEADERFUNCTION,getheader)    #将返回的HTTPHEADER定向到回调函数getheader
c.setopt(pycurl.WRITEFUNCTION,getbody)    #将返回的内容定向到回调函数getbody
c.setopt(pycurl.WRITEHEADER,fileobj)    #将返回的HTTPHEADER定向到fileobj文件对象
c.setopt(pycurl.WRITEDATA,fileobj)    #将返回的HTML内容定向到fileobj文件对象

·getinfo(option)方法,对应libcurl包中的curl_easy_getinfo方法,参数option是通过libcurl的常量来指定的

c=pycurl.Curl()    #创建一个curl对象
c.getinfo(pycurl.HTTP_CODE)    #返回的HTTP状态码
c.getinfo(pycurl.TOTAL_TIME)    #传输结束所消耗的总时间
c.getinfo(pycurl.NAMELOOKUP_TIME)    #DNS解析所消耗的时间
c.getinfo(pycurl.CONNECT_TIME)    #建立连接所消耗的时间
c.getinfo(pycurl.PRETRANSFER_TIME)    #从建立连接到准备传输所消耗的时间
c.getinfo(pycurl.STARTTRANSFER_TIME)    #从建立连接到传输开始消耗的时间
c.getinfo(pycurl.REDIRECT_TIME)    #重定向所消耗的时间
c.getinfo(pycurl.SIZE_UPLOAD)    #上传数据包大小
c.getinfo(pycurl.SIZE_DOWNLOAD)    #下载数据包大小
c.getinfo(pycurl.SPEED_DOWNLOAD)    #平均下载速度
c.getinfo(pycurl.SPEED_UPLOAD)    #平均上传速度
c.getinfo(pycurl.HEADER_SIZE)    #HTTP头部大小

Python 相关文章推荐
python开启多个子进程并行运行的方法
Apr 18 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
python修改list中所有元素类型的三种方法
Apr 09 Python
Python wxPython库消息对话框MessageDialog用法示例
Sep 03 Python
python字符串的拼接方法总结
Nov 18 Python
基于python读取.mat文件并取出信息
Dec 16 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
keras实现多种分类网络的方式
Jun 11 Python
详解Python设计模式之策略模式
Jun 15 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
Jul 14 Python
Python用Jira库来操作Jira
Dec 28 Python
用Python实现职工信息管理系统
Dec 30 Python
VSCode下好用的Python插件及配置
Apr 06 #Python
VScode编写第一个Python程序HelloWorld步骤
Apr 06 #Python
在VS Code上搭建Python开发环境的方法
Apr 06 #Python
python装饰器深入学习
Apr 06 #Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
Apr 06 #Python
python中pylint使用方法(pylint代码检查)
Apr 06 #Python
VSCode下配置python调试运行环境的方法
Apr 06 #Python
You might like
php Ajax乱码
2008/04/09 PHP
php session应用实例 登录验证
2009/03/16 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
javascript 必知必会之closure
2009/09/21 Javascript
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
jQuery动态添加
2016/04/07 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
理解Python中的With语句
2016/03/18 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
淘宝秒杀python脚本 扫码登录版
2019/09/19 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
python实现图片上添加图片
2019/11/26 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
初级会计求职信范文
2014/02/15 职场文书
物流专业自荐信
2014/05/23 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
张丽莉观后感
2015/06/16 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
导游词之广西漓江
2019/11/02 职场文书