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头部大小