Python 下pycurl模块

'''

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

你可能感兴趣的:(Python 下pycurl模块)