简单谈谈Python的pycurl模块

  

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

  

模块的常用方法说明:
  

  

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

  

pycurl.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头的用户代理
  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(选项)方法,对应libcurl包中的curl_easy_getinfo方法,参数的选择是通过libcurl的常量来指定的

  

c=pycurl.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模块