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
随机推荐
- flutter,flutter版本version/channel切换问题
flutter go,官方的指南版本如下: 如何设置版本和channel,尝试 flutter help,发现原来flutter version不单是可以查所有版本(--version查当前版本)还可 ...
- 学习路线 (转自 https://mp.weixin.qq.com/s/_FIGSda6wWL-5LXMQAk3IA )
- jquery左划出现删除按钮,右滑隐藏
jquery左侧划出显示删除按钮,右滑动隐藏删除按钮 <!doctype html> <html> <head> <meta charset="ut ...
- 学到了林海峰,武沛齐讲的Day17完-6 文件操作
参考 https://www.cnblogs.com/linhaifeng/articles/5984922.html f=open('陈粒1',encoding='utf-8') ope ...
- 二十五 存储技术与应用 iSCSI技术应用 、 udev配置 NFS网络文件系统 、 Multipath多路径 、 NFS网络文件系统 、 udev配置
1.配置iSCSI服务 服务器上要额外配置一块硬盘 服务端(proxy)安装target,并将新加的硬盘配置为iSCSI 的共享磁盘 在客户端(client)上安装initiator,挂载服务器iSC ...
- MVC 元数据验证
ASP.NET MVC 3 Validation - 正则表达式验证RegularExpressionAttribute之日期验证 http://blog.csdn.net/jackvs/articl ...
- luogu 3248
直接向原树加子树是不可能的考虑重新建立这样一颗树,我们称之为 S 树 将每次需要添加的子树看做一个点,称之为 S 点 新建的树就是由这些点构成的,那么树的大小是合理的 初始节点为整棵原树由于添加的子树 ...
- Redis使用总结(二、缓存和数据库双写一致性问题)
首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用.在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作. 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存.又或者 ...
- 数据结构——KMP算法
算法介绍 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法).KMP算法的核心是利用 ...
- $('#jyzjg').combobox('clear');
$('#jyzjg').combobox('clear'); alert($('#jyzjg').combobox("getValue" ...