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. checkurl="www.test.com/abc?afgf=afd
  4. "
  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. c.setopt(pycurl.WRITEFUNCTION, b.write)
  10. c.setopt(pycurl.FOLLOWLOCATION, 1)
  11. c.setopt(pycurl.MAXREDIRS, 5)
  12. c.perform()
  13. status = c.getinfo(c.HTTP_CODE)
  14. bbody = b.getvalue()
  15. b.close()

pycurl模块的更多相关文章

  1. Python 的PyCurl模块使用

    PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,PycURL 是一个非常快速(参考多并发操作) ...

  2. http服务需要pycurl模块这样去监控服务

    最近运维还是比较空闲,写篇自己的心得体会.做过运维的应该都做过http服务了.像一些电子商城,或者是一些互联网公司,web的服务之类是至关重要的,近期看了刘天斯大哥的书觉得自己运维平台应该也可以这样去 ...

  3. python关于SSL的认证--pycurl模块使用

    今天在做微信支付退款接口的时候,因为需要使用到双向证书的认证,所以一开始是没有头绪的,后来在网上找到了相类似的教程,发现了pycurl模块,才成功实现了证书认证,教程链接:http://blog.cs ...

  4. python pycurl模块

    一.pycurl概述 PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,在PyCURL的主页上介 ...

  5. 6.python探测Web服务质量方法之pycurl模块

    才开始学习的时候有点忽略了这个模块,觉得既然Python3提供了requests库,为什么多此一举学习这个模块.后来才发现pycurl在探测Web服务器的时候的强大. pycurl是一个用c语言写的l ...

  6. Zabbix使用Pycurl模块监控web页面状态

    由于网络的问题,zabbix自带web模块用不了,后台研发2b,老是更新正式环境安装包,导致一直出问题,老是给他们擦屁股,早说过这事,他们不配合,现在出问题了,挺爽,这锅我表示不背,就找了pycurl ...

  7. 爬虫:pycurl模块的使用说明

    pycurl参考文档:http://pycurl.io/docs/latest/index.html   是英文文档,看起来也不是特么吃力跟着做问题不大. #coding=utf-8 import p ...

  8. python学习笔记--pycurl模块安装遇到的问题。

    1.用easy_install安装的时候 [root@idayuan ~]# easy_install pycurl Searching for pycurl Best match: pycurl A ...

  9. 通过pycurl模块添加put和delete请求

    原文链接: http://anupamshakya.blogspot.com/2013/07/implementation-of-put-and-delete-in.html

随机推荐

  1. 【VS Code】中node.js代码自动补全的方法

    原文链接: https://blog.csdn.net/qq_39189819/article/details/91347484

  2. 文件操作中file.seek()方法

    摘要: file.seek()可以将文件游标移动到文件的任意位置,本文具体的file.seek()文件游标移动操作方法. file.seek()方法标准格式是:seek(offset,whence=0 ...

  3. 随便写一个c++类

    为了让代码更贴合实际项目需要,我们分别用xxx.h文件,xxx.cpp文件来包含类的定义,类的声明和类的调用部分,实验平台vs2010 mycoach.h文件 #pragma once #includ ...

  4. 两数最大公约数 GCD

    原理辗转相除法. public int gcd(int i, int j) { if (i == 0 || j == 0) { return 0; } int a = 0, b = 0; if (i ...

  5. Python3连接MySQL数据库实战

    Python3连接MySQL数据库实战 第三方库 :pymysql 数据库连接 def connect(): try: #建立数据库连接,从左至右参数依次为 # ip地址 我用的是云端数据库 如果为本 ...

  6. 入门指引之查看accesstoken

    1. 测试工具查看 https://mp.weixin.qq.com/debug/ 2. 代码获取: # -*- coding: utf-8 -*- # filename: basic.py impo ...

  7. 三十七.MySQL视图 MySQL存储过程

    1.视图的基本使用 把/etc/passwd文件的内容存储到db9库下的user表里 添加新字段id 存储记录的行号(在所有字段的前边) 创建视图v1 结构及数据user表的字段.记录一样. 创建视图 ...

  8. 三十五.MySQL读写分离 MySQL多实例 、MySQL性能调优

    1.实现MySQL读写分离 搭建一主一从结构 配置maxscale代理服务器 测试分离配置   1.1 搭建一主一从结构 192.168.4.51 主 192.168.4.52 从 测试OK   1. ...

  9. 搭建自己的博客(二十二):通过ajax提交评论信息,并增加公式编辑功能

    编辑功能使用到了ckeditor的MathJax组件.ajax提交评论可以不用刷新浏览器. 1.变化的部分

  10. 用Python匹配HTML tag的时候,<.>和<.?>有什么区别?

    答:术语叫贪婪匹配( <.> )和非贪婪匹配(<.?> ) 例如: test <.*> : test <.*?> :