Python中的CURL PycURL使用例子

 更新时间:2014年06月01日 22:43:59   作者:  
这篇文章主要介绍了Python中的CURL PycURL使用例子,需要的朋友可以参考下
在Linux上有个常用的命令 curl(非常好用),支持curl的就是大名鼎鼎的libcurl库;libcurl是功能强大的,而且是非常高效的函数库。libcurl除了提供本身的C API之外,还有多达40种编程语言的Binding,这里介绍的PycURL就是libcurl的Python binding。
在Python中对网页进行GET/POST等请求,当需要考虑高性能的时候,libcurl是非常不错的选择,一般来说会比liburl、liburl2快不少,可能也会比Requests的效率更高。特别是使用PycURL的多并发请求时,更是效率很高的。个人感觉,其唯一的缺点是,由于是直接调用的是libcurl C库,PycURL的函数接口之类的还和C中的东西很像,可能不是那么的Pythonic,写代码的学习曲线稍微比liburl高一点儿。
还是看个简单的例子吧:
复制代码 代码如下:

#! /usr/bin/env python
# -*- coding: utf-8 -*-

'''
Created on Dec 15, 2013

@author: Jay
'''

import sys
import pycurl
import time

class Test:
    def __init__(self):
        self.contents = ''

    def body_callback(self, buf):
        self.contents = self.contents + buf

sys.stderr.write("Testing %s\n" % pycurl.version)

start_time = time.time()

url = 'http://www.dianping.com/shanghai'
t = Test()
c = pycurl.Curl()
c.setopt(c.URL, url)
c.setopt(c.WRITEFUNCTION, t.body_callback)
c.perform()
end_time = time.time()
duration = end_time - start_time
print c.getinfo(pycurl.HTTP_CODE), c.getinfo(pycurl.EFFECTIVE_URL)
c.close()

print 'pycurl takes %s seconds to get %s ' % (duration, url)

print 'lenth of the content is %d' % len(t.contents)
#print(t.contents)

相关文章

  • 符合语言习惯的 Python 优雅编程技巧【推荐】

    符合语言习惯的 Python 优雅编程技巧【推荐】

    Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。这篇文章给大家介绍Python 优雅编程技巧,感兴趣的朋友跟随小编一起看看吧
    2018-09-09
  • Python 实现字符串中指定位置插入一个字符

    Python 实现字符串中指定位置插入一个字符

    下面小编就为大家分享一篇Python 实现字符串中指定位置插入一个字符,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 使用Python中PDB模块中的命令来调试Python代码的教程

    使用Python中PDB模块中的命令来调试Python代码的教程

    这篇文章主要介绍了使用Python中PDB模块中的命令来调试Python代码的教程,包括设置断点来修改代码等、对于Python团队项目工作有一定帮助,需要的朋友可以参考下
    2015-03-03
  • vscode和Anaconda安装以及相关环境配置指南

    vscode和Anaconda安装以及相关环境配置指南

    Anaconda是一个开源的python发行版本,是现在比较流行的python数据科学平台,可以对python的科学包做到有效管理,这篇文章主要给大家介绍了关于vscode和Anaconda安装以及相关环境配置指南的相关资料,需要的朋友可以参考下
    2023-11-11
  • Python 实现PS滤镜的旋涡特效

    Python 实现PS滤镜的旋涡特效

    这篇文章主要介绍了Python 实现 PS 滤镜的旋涡特效,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
    2020-12-12
  • 浅析python 定时拆分备份 nginx 日志的方法

    浅析python 定时拆分备份 nginx 日志的方法

    本文给大家分享python 定时拆分备份 nginx 日志的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-04-04
  • TensorFlow 显存使用机制详解

    TensorFlow 显存使用机制详解

    今天小编就为大家分享一篇TensorFlow 显存使用机制详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python区块链地址的简版实现

    python区块链地址的简版实现

    这篇文章主要为大家介绍了python区块链地址的简版实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 深入浅析python继承问题

    深入浅析python继承问题

    这篇文章主要介绍了深入浅析python继承问题的相关资料,非常不错,感兴趣的朋友一起看看吧
    2016-05-05
  • PyQt5 实现字体大小自适应分辨率的方法

    PyQt5 实现字体大小自适应分辨率的方法

    今天小编就为大家分享一篇PyQt5 实现字体大小自适应分辨率的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06

最新评论