'''
close()方法,对应libcurl包中的curl_easy_cleanup方法,无参数,实现关闭、回收curl对象
'''
'''
perform()方法,对应libcurl包中的curl_easy_perform方法,无参数,实现curl对象请求的提交
'''
'''
setopt(option,value)方法,对应libcurl包中的curl_easy_setopt方法,参数option是通过libcurl的常量来指定,参数value的值依赖
于option,以下是常用的
'''
c
=
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://blog.beam.pub](http://blog.beam.pub/)'
)
#请求指定的URL
c.setopt(pycurl.USERAGENT,
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 OPR/40.0.2308.81 (Edition Baidu)"
)
#配置请求http头的User-Agent
c.setopt(pycurl.HEADERFUNCTION,getheader)
#将返回的http header定向到回调函数getheader
c.setopt(pycurl.WRITEFUNCTION,getbody)
#将返回的内容定向到回调函数
c.setopt(pycurl.WRITEHEADER,fileeobj)
#将返回的http header定向到fileobj文件对象
c.setopt(pycurl.WRITEDATA,fileobj)
#将返回的HTML内容定向到fileobj文件对象
'''
getinfo(option)方法,对应libcurl包中的curl_easy_getinfo方法,参数option是通过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头部大小
网友评论