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
具体举例:
环境:限制需要访问地址
具体代码如下:
- Import pycurl
 - Import StringIO
 - checkurl="www.test.com/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()
 
pycurl模块的更多相关文章
- Python 的PyCurl模块使用
		
PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,PycURL 是一个非常快速(参考多并发操作) ...
 - http服务需要pycurl模块这样去监控服务
		
最近运维还是比较空闲,写篇自己的心得体会.做过运维的应该都做过http服务了.像一些电子商城,或者是一些互联网公司,web的服务之类是至关重要的,近期看了刘天斯大哥的书觉得自己运维平台应该也可以这样去 ...
 - python关于SSL的认证--pycurl模块使用
		
今天在做微信支付退款接口的时候,因为需要使用到双向证书的认证,所以一开始是没有头绪的,后来在网上找到了相类似的教程,发现了pycurl模块,才成功实现了证书认证,教程链接:http://blog.cs ...
 - python pycurl模块
		
一.pycurl概述 PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,在PyCURL的主页上介 ...
 - 6.python探测Web服务质量方法之pycurl模块
		
才开始学习的时候有点忽略了这个模块,觉得既然Python3提供了requests库,为什么多此一举学习这个模块.后来才发现pycurl在探测Web服务器的时候的强大. pycurl是一个用c语言写的l ...
 - Zabbix使用Pycurl模块监控web页面状态
		
由于网络的问题,zabbix自带web模块用不了,后台研发2b,老是更新正式环境安装包,导致一直出问题,老是给他们擦屁股,早说过这事,他们不配合,现在出问题了,挺爽,这锅我表示不背,就找了pycurl ...
 - 爬虫:pycurl模块的使用说明
		
pycurl参考文档:http://pycurl.io/docs/latest/index.html 是英文文档,看起来也不是特么吃力跟着做问题不大. #coding=utf-8 import p ...
 - python学习笔记--pycurl模块安装遇到的问题。
		
1.用easy_install安装的时候 [root@idayuan ~]# easy_install pycurl Searching for pycurl Best match: pycurl A ...
 - 通过pycurl模块添加put和delete请求
		
原文链接: http://anupamshakya.blogspot.com/2013/07/implementation-of-put-and-delete-in.html
 
随机推荐
- Mybatis-Generator逆向工程,复杂策略(Criteria拼接条件)
			
基于上一篇修改 1.Generator配置文件修改,将targetRuntime改为MyBatis3 2.项目结构目录 这个xxxExample就是拼接条件用的 3.测试代码 注释写的很详细 publ ...
 - pandas模块的基本用法
			
一.读取文件 import pandas as pd data = pd.read_csv("F:\\ml\\机器学习\\01\\score.csv") #一般读取的是csv文件, ...
 - Linux监控系统概览
			
自从Linux系统诞生之始,监控系统就随之出现. 当然说到监控系统,我们就必须聊到SNMP协议,SNMP分为管理端(NMP)和被管理端. 管理端周期性的到被监控端采集数据,被监控端还需要有权限收集数据 ...
 - LeetCode 282. Expression Add Operators
			
原题链接在这里:https://leetcode.com/problems/expression-add-operators/ 题目: Given a string that contains onl ...
 - Oracle ORA-00600[2662] 解决
			
一.问题描述 1.数据库情况 1)数据库版本:11.2.0.4: 2)未开启归档: 3)没有备份:无RMAN备份.无DUMP备份: 4)数据库redo log 日志组,每组只有一个成员: 2.问题出现 ...
 - Wireshark抓取本地回环接口数据包 RawCap.exe
			
Wireshark提供了winpcap可以抓取远程网卡数据包...但我尝试了不成功.后来发现RawCap.exe不仅可以抓取回环接口数据包,远程跑了拿到pcap文件再打开用起来比winpcap更方便最 ...
 - learning java 获取键盘输入
			
通过Scanner类,获取键盘的输入 var sc = new Scanner(System.in); // while (sc.hasNext()){ // System.out.println(& ...
 - Django系列(一):前期准备
			
1.web应用 Web应用程序是一种可以通过web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...
 - centos7haproxy+keepalive
			
1部署keepalived 1.1下载keepalived源码包,并解压# wget http://www.keepalived.org/software/keepalived-1.4.2.tar.g ...
 - 支持utf8的str_split函数
			
<?php header("Content-type: text/html; charset=utf-8"); /** * 按字节数对字符串进行分片 * @param $st ...