pycurl的学习

(2013-09-26 10:40:31)

  分类: python

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()

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

Python pycurl使用的更多相关文章

  1. python pycurl模块

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

  2. Python PycURL 网络编程

    http://blog.chinaunix.net/uid-20544356-id-290882.html 在使用urllib的时候经常会死掉,以前debug过,是没有设置 timing out 所以 ...

  3. Python PycURL的安装使用

    PycURL中文简介:https://blog.csdn.net/qq_41185868/article/details/80487014 PycURL英文简介(如下):http://pycurl.i ...

  4. Python pycurl

    常用方法: pycurl.Curl() #创建一个pycurl对象的方法 pycurl.Curl(pycurl.URL, http://www.google.com.hk) #设置要访问的URL py ...

  5. python pycurl属性

    pycurl.Curl() #创建一个pycurl对象的方法 pycurl.Curl(pycurl.URL, http://www.google.com.hk) #设置要访问的URL pycurl.C ...

  6. Python 的PyCurl模块使用

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

  7. [置顶] pycurl检测网站性能,pycurl.*_TIME时间问题

    今天使用python+pycurl来检测网站性能,使用curl_obj.getinfo(pycurl.*_TIME)来获取各个阶段运行时间 total_time = curl_obj.getinfo( ...

  8. zabbix如何监控WEB应用性能

    HTTP服务目前最流行的互联网应用之一,如何监控服务的健康状态对系统运维来说至关重要.   Zabbix本身提供了对WEB应用程序的监控,比如监控WEB程序的Download Speed,Respon ...

  9. pycurl,Python cURL library

    pycurl — A Python interface to the cURL library Pycurl包是一个libcurl的Python接口.pycurl已经成功的在Python2.2到Pyt ...

随机推荐

  1. 用vue开发顶端粘滞效果的页面

    概述 通常一个长的页面,需要滚动浏览,有部分重要信息会随着滚动而看不见,因此需要粘滞在顶端,而又不影响滚动浏览,这个demo基于vue2,实现这个需求. 详细 代码下载:http://www.demo ...

  2. 一对一关系数据库表 java类描述

    一对一关系中 从表的主键是 主表的外键 sql语句 create table person( id int primary key, name varchar(100) ); create table ...

  3. cygwin下安装scws

    安装gcc和make命令 1.找到cygwin的etc目录中有一个名为passwd的文件.   2.用UE或记事本打开passwd这个文件,找到以下部分,把其中的windows用户名admin换成ro ...

  4. [C/C++11语法]_[0基础]_[lamba 表达式介绍]

    场景 lambda 表达式在非常多语言里都有一席之地,由于它的原因,能够在函数里高速定义一个便携的函数,或者在函数參数里直接高速构造和传递. 它能够说是匿名函数对象,一般仅仅适用于某个函数内,仅仅做暂 ...

  5. 查看linux系统某宏的定义(另类)

    有一次我想查看time_t类型的定义,一开始想直接在/usr/include/time.h中查找,结果里面没有,而是转到另外一个:__time_t(2个下划线), 结果又转到:__STD_TYPE _ ...

  6. Nginx配置优化详解

    如果你已经安装过Nginx并在生产环境中使用,那么Nginx配置优化你一定也要做,这样才能看到Nginx性能,本文就从基本配置优化开始到高层配置教你如何优化Nginx 大多数的Nginx安装指南告诉你 ...

  7. Python中模拟C# Linq的一些操作

    闲来无事时积累的一些Linq函数,有时间就更新. 需要注意python版本如果低于3.0不支持lambda,只能单独写函数传参,比较麻烦 1.FirstOrDefault: def FirstOrDe ...

  8. shell获取用户输入

    主题: 再学shell之获取用户输入echo -n(不换行)和read命令-p(提示语句) -n(字符个数) -t(等待时间) -s(不回显) 和“读文件”深入学习 1.基本读取read命令接收标准输 ...

  9. python内置函数之vars()

    vars([object]) 返回__dict__属性的值.当不传入参数时,和locals()等效.当函数接收一个参数时,参数可以是模块.类.类实例,或者定义了__dict__属性的对象. >& ...

  10. 0062 Spring MVC的文件上传与下载--MultipartFile--ResponseEntity

    文件上传功能在网页中见的太多了,比如上传照片作为头像.上传Excel文档导入数据等 先写个上传文件的html <!DOCTYPE html> <html> <head&g ...