pycurl——curl库的python接口

pycurl是一个python接口,用于 libcurl 多协议文件传输库。类似于 urllib pycurl模块可用于从python程序中获取由URL标识的对象。除了简单的获取之外,pycurl还公开了libcurl的大部分功能,包括:

  • Speed-libcurl非常快,PycURL是libcurl之上的薄包装器,也非常快。PycURL was benchmarked 比…快几倍 Requests.

  • 功能包括多协议支持、SSL、身份验证和代理选项。pycurl支持libcurl的大部分回调。

  • Multishare 接口。

  • 用于网络操作的套接字,允许将pycurl集成到应用程序的I/O循环中(例如,使用 Tornado) .

PycURL与请求

Requests 是另一个经常与PycURL相提并论的流行Python库。

PycURL的优势:

  • PycURL可以是 several times faster than Requests 。当执行多个请求并且重复使用连接时,性能差异较大。

  • PycURL使通过 libcurl multi interface

  • PycURL支持许多协议,而不仅仅是HTTP。

  • PycURL通常提供更多功能,例如使用多个TLS后端的能力、更多的身份验证选项等。

请求的优势:

  • 请求是用纯Python编写的,不需要C扩展。因此,请求的安装很简单,而PycURL的安装可能很复杂(尽管特定于操作系统的软件包(如果有)会消除这一缺点)。

  • 请求的API通常比PycURL更容易学习和使用。

关于libcurl

  • libcurl是一个免费且易于使用的客户端URL传输库,支持dict、file、ftp、ftps、gopher、http、https、imap、imaps、ldap、ldaps、pop3、pop3s、rtmp、rtsp、scp、sftp、smtp、smtps、telnet和tftp。libcurl支持ssl证书、http-post、http-put、ftp上传、基于http表单的上传、代理、cookie、用户+密码认证(basic、digest、ntlm、negotiate、kerberos4)、文件传输恢复、http代理隧道等!

  • libcurl是高度可移植的,它在许多平台上构建和工作相同,包括solaris、netbsd、freebsd、openbsd、darwin、hpux、irix、aix、tru64、linux、unixware、hurd、windows、amiga、os/2、beos、mac os x、ultrix、qnx、openvms、risc os、novell netware、dos等等…

  • 利比尔是 freethread-safeIPv6 compatiblefeature richwell supportedfastthoroughly documented 已经被许多知名的、大的和成功的 companies 无数 applications .

要求

  • Python 3。

  • libcurl 7.19.0或更好。

安装

在UNIX上,使用操作系统的包管理器安装pycurl最容易。这还将根据需要安装libcurl和其他依赖项。

通过易安装和PIP安装也支持:

easy_install pycurl
pip install pycurl

如果这不起作用,请看 Pycrl安装 .

在Windows上,从源代码构建或使用第三方二进制软件包。

支持

有关支持问题,请使用 curl-and-python mailing list . Mailing list archives 也可以供您阅读。

虽然不是官方的支持场所, Stack Overflow 也受到了pycurl用户的欢迎。

可以报告错误 via GitHub . 请仅在确定在pycurl中发现了错误时使用github问题。如果您没有补丁来修复这个bug,或者至少是pycurl中一个您认为是原因的特定代码片段,那么您应该将您的查询发布到邮件列表中。

文件内容

索引和表格