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 pycurl_简单谈谈Python的pycurl模块相关推荐

  1. python pycurl_简单谈谈Python的pycurl模块_python

    PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,PycURL 是一个非常快速(参考多并发操作) ...

  2. python装饰器使用教学,Python教程|简单上手Python中装饰器的使用

    如何打造极简主义风格网站教程 .极简主义与其他设计风格<极简主义设计之美> 这篇文章的一部分是讲极简主义是如何与其他设计风格很好配合的.可以把极简主义当作一种属性,而它可以添加或结合其他. ...

  3. python gevent async_谈谈Python协程技术的演进

    原标题:谈谈Python协程技术的演进 Coding Crush Python开发工程师 主要负责岂安科技业务风险情报系统redq. 引言 1.1. 存储器山 存储器山是 Randal Bryant ...

  4. python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...

  5. 6.python探测Web服务质量方法之pycurl模块

    才开始学习的时候有点忽略了这个模块,觉得既然Python3提供了requests库,为什么多此一举学习这个模块.后来才发现pycurl在探测Web服务器的时候的强大. pycurl是一个用c语言写的l ...

  6. python闭包的应用场景_简单谈谈Python中的闭包

    Python中的闭包 前几天又有人留言,关于其中一个闭包和re.sub的使用不太清楚.我在脚本之家搜索了下,发现没有写过闭包相关的东西,所以决定总结一下,完善Python的内容. 1. 闭包的概念 首 ...

  7. python包括几种数据类型_简单谈谈Python中的几种常见的数据类型

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...

  8. python re 简单实例_python的re模块应用实例

    import re # match_object = re.match('foo','foo') if match_object is not None: print type(match_objec ...

  9. python中函数的可变参数_简单谈谈Python中函数的可变参数

    前言 在Python中定义函数,可以用必选参数.默认参数.可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数.默认参数.可变参数和关键字参数. ...

最新文章

  1. php增删改查心得体会,php增删改查入门示例
  2. python社区发现_这个 Python 项目厉害了!多个实战案例教你分析时空数据处理
  3. 【转】犹太人的10句话,每一句都值得深思
  4. TCP 三次握手原理,你真的理解吗
  5. 创建字符串枚举的最好方法
  6. 【C#学习笔记】使用C#中的Dispatcher
  7. java 井字棋 人机_一个井字棋tictactoe游戏的java实现 | Soo Smart!
  8. ncl 添加点shp文件_一:python读取shapefile文件
  9. 如何转换html转化mp4,格式互转技巧:webm格式怎么转换mp4?
  10. c语言乐谱提取软件,SmartScore X2 Pro(乐谱扫描识别软件) V10.5.4 官方版
  11. Unity3d/2d手机游戏开发第二版 (金玺曾) 随书资源
  12. 致Oracle开发者的学习资源清单
  13. python爬虫文字加密_涉及字体加密的爬虫分析
  14. 基于STM32的RC522模块读写数据块以及电子钱包充值扣款系统的设计
  15. PS快速制作流血火焰和冰封字体
  16. 【数据库】Redis
  17. 多机器人路径规划CBS/ECBS等 libmultiRobotPlanning 代码阅读笔记
  18. 一个中科大差生的 8 年程序员工作总结
  19. 【Mermaid 语法详细教程 01】 流程图(Flowchart / graph)
  20. Spring基础笔记

热门文章

  1. Linux sort用法
  2. IOS逆向学习-签名机制
  3. 【​区块链】相关专业名词术语
  4. 阅读基于sketch的软件定义网络测量数据平面硬件模型
  5. CSDN积分获取方法(转)
  6. Mac-查看开关机记录
  7. 当互联网金融遇到区块链
  8. AHK的快速使用(兼容linux一些操作)
  9. mingw跟MSVC库的相互转换
  10. Cisco 基础综合配置实验