PycURL – A Python Interface To The cURL library¶
PycURL is a Python interface to libcurl, the multiprotocol file transfer library. Similarly to the urllib Python module, PycURL can be used to fetch objects identified by a URL from a Python program. Beyond simple fetches however PycURL exposes most of the functionality of libcurl, including:
Features including multiple protocol support, SSL, authentication and proxy options. PycURL supports most of libcurl’s callbacks.
Sockets used for network operations, permitting integration of PycURL into the application’s I/O loop (e.g., using Tornado).
libcurl is a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), file transfer resume, http proxy tunneling and more!
libcurl is highly portable, it builds and works identically on numerous platforms, including 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 and more…
Python 2.7 or 3.4 through 3.6.
libcurl 7.19.0 or better.
On Unix, PycURL is easiest to install using your operating system’s package manager. This will also install libcurl and other dependencies as needed.
Installation via easy_install and pip is also supported:
easy_install pycurl pip install pycurl
If this does not work, please see PycURL Installation.
On Windows, use pip to install a binary wheel for Python 2.7, 3.5 or 3.6:
pip install pycurl
If not using pip, binary distributions in other formats are available on Bintray.
Although not an official support venue, Stack Overflow has been popular with PycURL users as well.
Bugs can be reported via GitHub. Please only use GitHub issues when you are certain you have found a bug in PycURL. If you do not have a patch to fix the bug, or at least a specific code fragment in PycURL that you believe is the cause, you should instead post your inquiry to the mailing list.
- Release Notes
- PycURL 18.104.22.168 - 2020-09-02
- PycURL 22.214.171.124 - 2020-01-29
- PycURL 126.96.36.199 - 2020-01-15
- PycURL 188.8.131.52 - 2019-06-17
- PycURL 184.108.40.206 - 2018-06-02
- PycURL 220.127.116.11 - 2017-12-07
- PycURL 7.43.0 - 2016-02-02
- PycURL 7.21.5 - 2016-01-05
- PycURL 18.104.22.168 - 2015-11-03
- PycURL 22.214.171.124 - 2015-11-02
- PycURL 126.96.36.199 - 2015-01-06
- PycURL 7.19.5 - 2014-07-12
- PycURL 188.8.131.52 - 2014-02-05
- PycURL 7.19.3 - 2014-01-09
- PycURL Installation
- PycURL Quick Start
- pycurl Module Functionality
- Curl Object
- CurlMulti Object
- CurlShare Object
- curl Module Functionality
- String And Unicode Handling
- File Handling
- Thread Safety
- Unimplemented Options And Constants