Python pycurl使用
| 分类: 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
具体举例:
环境:限制需要访问地址
具体代码如下:
- 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()
本文出自 “一直奔跑在路上” 博客,请务必保留此出处http://liran728729.blog.51cto.com/2505117/1151734
Python pycurl使用的更多相关文章
- python pycurl模块
一.pycurl概述 PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,在PyCURL的主页上介 ...
- Python PycURL 网络编程
http://blog.chinaunix.net/uid-20544356-id-290882.html 在使用urllib的时候经常会死掉,以前debug过,是没有设置 timing out 所以 ...
- Python PycURL的安装使用
PycURL中文简介:https://blog.csdn.net/qq_41185868/article/details/80487014 PycURL英文简介(如下):http://pycurl.i ...
- Python pycurl
常用方法: pycurl.Curl() #创建一个pycurl对象的方法 pycurl.Curl(pycurl.URL, http://www.google.com.hk) #设置要访问的URL py ...
- python pycurl属性
pycurl.Curl() #创建一个pycurl对象的方法 pycurl.Curl(pycurl.URL, http://www.google.com.hk) #设置要访问的URL pycurl.C ...
- Python 的PyCurl模块使用
PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,PycURL 是一个非常快速(参考多并发操作) ...
- [置顶]
pycurl检测网站性能,pycurl.*_TIME时间问题
今天使用python+pycurl来检测网站性能,使用curl_obj.getinfo(pycurl.*_TIME)来获取各个阶段运行时间 total_time = curl_obj.getinfo( ...
- zabbix如何监控WEB应用性能
HTTP服务目前最流行的互联网应用之一,如何监控服务的健康状态对系统运维来说至关重要. Zabbix本身提供了对WEB应用程序的监控,比如监控WEB程序的Download Speed,Respon ...
- pycurl,Python cURL library
pycurl — A Python interface to the cURL library Pycurl包是一个libcurl的Python接口.pycurl已经成功的在Python2.2到Pyt ...
随机推荐
- webservice接口示例(spring+xfire+webservice)
webservice接口示例(spring+xfire+webservice) CreateTime--2018年4月2日17:36:07 Author:Marydon 一.准备工作 1.1 ja ...
- 移动通信安全——GSM安全体系
一.GSM网络概述 1.安全机制 认证用户,防止未授权接入 对空中接口传输加密,防止无线信道上用户信息被窃听 SIM卡独立于终端,管理用户信息 在空中接口上以临时身份标识用户,防止用户被跟踪 但是GS ...
- 正则表达式总结 java 等
这个经常用的到,就来总结一下 #一下是JAVA中的正则表达式 在 JDK1.4 里有了自己的正则表达式 API 包,JAVA 程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下 ...
- 微信小程序—智能小蜜(基于智能语义解析olami开放平台)
概述 该程序支持功能有查天气.查诗词.查百科.算算术.查日历.看笑话.看故事.聊天等,通过用户输入语句智能解析用户意图输出相应答案. 详细 代码下载:http://www.demodashi.com/ ...
- Hadoop集群+Spark集群搭建(一篇文章就够了)
本文档环境基于ubuntu16.04版本,(转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢) 一.准备 1.1 软件版本 Ub ...
- express@4.0.*
$ sudo npm install -g express the installation goes fine. But when I try to create a project with ex ...
- Java入门 第一季第二章 变量和常量
这是我学习慕课网Java课程的笔记.原视频链接为:http://www.imooc.com/learn/85 2-1 Java中的keyword PS:Javakeyword区分大写和小写 2-2 认 ...
- 采用 EventHandler 模式发布事件(转载)
采用 EventHandler 模式发布事件 (如果不需要与事件一起发送自定义数据,请跳过此步骤,进入步骤 3a.)在发行者类和订阅方类均可看见的范围中声明自定义数据的类. 然后添加保留您的自定义事件 ...
- 邁向 RHCE 之路 (Day26) - Apache 網頁伺服器
本篇將在 SELinux 安全機制及 IPTables 防火牆開啟的環境下實作,分別實作簡單網頁服務及虛擬主機 Virtual Host 設定,最後則是實作網頁中需要保護網頁時可以透過 .htacce ...
- xdebug远程调试原理分析
xdebug可以控制PHP程序的执行,这意味着xdebug可以在任何时候暂停或者恢复正在运行的PHP程序.当PHP程序被暂停的时候,xdebug可以获取到程序的有关 信息,比如变量的值等.xdebug ...
转载▼