分享

pycurl的学习

 OneDayDayUp 2015-07-06

pycurl是curl的一个python版本。

 

pycurl的使用说明:

pycurl的使用主要是一些参数的设定。

1,c.setopt(pycurl.URL,myurl)

设定链接的地址

2,c.setopt(pycurl.HTTPHEADER,['Content-Type: application/json','Content-Length: '+str(len(remove_str))])

设置http的包头信息。注意,长度的字符传是用于put或者post等方法传参数的。

3,c.setopt(pycurl.CUSTOMREQUEST,"DELETE")

设置封装方法,有put,post,get,delete等多种方法

4, c.setopt(pycurl.POSTFIELDS,remove_str)

设置psot过去的数据,注意是一个字典样式的字符串

5,c.setopt(pycurl.WRITEFUNCTION,b.write)

c.setopt(pycurl.FOLLOWLOCATION, 1)

设置写的回调,所有输出都定向到b.write中。

6,c.setopt(pycurl.MAXDEDIRS,5)

设置重定向次数

7,c.setopt(pycurl.CONNECTTIMEOUT,60)

c.setopt(pycurl.TIMEOUT,600)

设置链接超时,设置下载超时

8,c.setopt(pycurl.USERAGENT,"xxxx")

设置代理浏览器

9,c.setopt(pycurl.HEADER,1)

   开启包头输出

    c.setopt(pycurl.HEADERFUNCTION,header_str.write)

将包头输出到header_str.write流中

10,c.perform()

执行curl命令

11,print b.getvalue()打印消息

12,print c.getinfo(c.HTTP_CODE)   //答应返回值

Print c.getinfo(c.CONTENT_TYPE)  //打印文本类型

Print c.getinfo(c.EFFECTIVE_URL)  //打印重定向URL

具体举例:

环境:限制需要访问地址

www./abc?afgf=afd

具体代码如下:


Import pycurl
Import StringIO 
  
checkurl="www./abc?afgf=afd 
" 
b=StringIO.StringIO() 
c=pycurl.Curl() 
c.setopt(pycurl.URL, checkurl) 
c.setopt(pycurl.HTTPHEADER, ["Accept:"]) 
c.setopt(pycurl.WRITEFUNCTION, b.write) 
c.setopt(pycurl.FOLLOWLOCATION, 1) 
c.setopt(pycurl.MAXREDIRS, 5) 
c.perform() 
Print b.getvalue() 
Print c.getinfo(c.HTTP_CODE) 
b.close() 
c.close() 
传参数的例子
 
b = StringIO.StringIO() 
c = pycurl.Curl() 
mkdir_str = '[{"op":"MKDIRS","permission"=permission}]' 
mkdir_url="http://192.168.0.112/abdf?op=MKDIRS&permission=%s" % (self.url_path,path,permission) 
c.setopt(pycurl.URL, mkdir_url) 
c.setopt(pycurl.HTTPHEADER,['Content-Type:application/json','Content-Length: '+str(len(mkdir_str))]) 
c.setopt(pycurl.CUSTOMREQUEST,"PUT") 
c.setopt(pycurl.POSTFIELDS,mkdir_str) 
          
c.setopt(pycurl.WRITEFUNCTION, b.write) 
c.setopt(pycurl.FOLLOWLOCATION, 1) 
c.setopt(pycurl.MAXREDIRS, 5) 
c.perform() 
status = c.getinfo(c.HTTP_CODE) 
bbody = b.getvalue() 
b.close() 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多