zoukankan      html  css  js  c++  java
  • pycurl的使用方法

    pycurl的使用

    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.test.com/abc?afgf=afd

    具体代码如下:

    1.  Import  pycurl 
    2. Import StringIO 
    3.   
    4. checkurl="www.test.com/abc?afgf=afd 
    5. b=StringIO.StringIO() 
    6. c=pycurl.Curl() 
    7. c.setopt(pycurl.URL, checkurl) 
    8. c.setopt(pycurl.HTTPHEADER, ["Accept:"]) 
    9. c.setopt(pycurl.WRITEFUNCTION, b.write) 
    10. c.setopt(pycurl.FOLLOWLOCATION, 1) 
    11. c.setopt(pycurl.MAXREDIRS, 5) 
    12. c.perform() 
    13. Print b.getvalue() 
    14. Print c.getinfo(c.HTTP_CODE) 
    15. b.close() 
    16. c.close() 

    传参数的例子

    1. b = StringIO.StringIO() 
    2. c = pycurl.Curl() 
    3. mkdir_str = '[{"op":"MKDIRS","permission"=permission}]' 
    4. mkdir_url="http://192.168.0.112/abdf?op=MKDIRS&permission=%s" % (self.url_path,path,permission) 
    5. c.setopt(pycurl.URL, mkdir_url) 
    6. c.setopt(pycurl.HTTPHEADER,['Content-Type:application/json','Content-Length: '+str(len(mkdir_str))]) 
    7. c.setopt(pycurl.CUSTOMREQUEST,"PUT") 
    8. c.setopt(pycurl.POSTFIELDS,mkdir_str) 
    9.           
    10. c.setopt(pycurl.WRITEFUNCTION, b.write) 
    11. c.setopt(pycurl.FOLLOWLOCATION, 1) 
    12. c.setopt(pycurl.MAXREDIRS, 5) 
    13. c.perform() 
    14. status = c.getinfo(c.HTTP_CODE) 
    15. bbody = b.getvalue() 
    16. b.close() 

    本文出自 “一直奔跑在路上” 博客,请务必保留此出处http://liran728729.blog.51cto.com/2505117/1151734

  • 相关阅读:
    拥有自己的代码生成器—Newlife.XCode模板编写教程
    基于Newlife.XCode的权限系统(含数据集权限)【设计篇】
    拥有自己的代码生成器—NewLife.XCode代码生成器分析
    利用javascript来转换GB2312到UNICONDE &#形式
    和荣笔记 从 Unicode 到 GB2312 转换表制作程式
    如何做SVN迁移
    和荣笔记 GB2312 字符集和编码说明
    asp对象化之:基于adodb.stream的文件操作类
    Unicode 汉字内码表
    微软建议的ASP性能优化28条守则 之三
  • 原文地址:https://www.cnblogs.com/albzcj/p/4208878.html
Copyright © 2011-2022 走看看