The pycurl package is a Python interface to libcurl. pycurl has been successfully built and tested with Python versions from 2.4 to 2.7 and 3.1 to 3.3.
libcurl is a client-side URL transfer library supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl also supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploads, proxies, cookies, basic authentication, file transfer resume of FTP sessions, HTTP proxy tunneling and more.
All the functionality provided by libcurl can used through the pycurl interface. The following subsections describe how to use the pycurl interface, and assume familiarity with how libcurl works. For information on how libcurl works, please consult the curl library C API.
pycurl.global_init(option) -> None
option is one of the constants pycurl.GLOBAL_SSL, pycurl.GLOBAL_WIN32, pycurl.GLOBAL_ALL, pycurl.GLOBAL_NOTHING, pycurl.GLOBAL_DEFAULT. Corresponds to curl_global_init in libcurl.
pycurl.global_cleanup() -> None
Corresponds to curl_global_cleanup in libcurl.
pycurl.version
This is a string with version information on libcurl, corresponding to curl_version in libcurl.
Example usage:
>>> import pycurl >>> pycurl.version 'PycURL/7.19.3 libcurl/7.33.0 OpenSSL/0.9.8x zlib/1.2.7'
pycurl.version_info() -> Tuple
Corresponds to curl_version_info in libcurl. Returns a tuple of information which is similar to the curl_version_info_data struct returned by curl_version_info() in libcurl.
Example usage:
>>> import pycurl >>> pycurl.version_info() (3, '7.33.0', 467200, 'amd64-portbld-freebsd9.1', 33436, 'OpenSSL/0.9.8x', 0, '1.2.7', ('dict', 'file', 'ftp', 'ftps', 'gopher', 'http', 'https', 'imap', 'imaps', 'pop3', 'pop3s', 'rtsp', 'smtp', 'smtps', 'telnet', 'tftp'), None, 0, None)
pycurl.Curl() -> Curl object
This function creates a new Curl object which corresponds to a CURL handle in libcurl. Curl objects automatically set CURLOPT_VERBOSE to 0, CURLOPT_NOPROGRESS to 1, provide a default CURLOPT_USERAGENT and setup CURLOPT_ERRORBUFFER to point to a private error buffer.
pycurl.CurlMulti() -> CurlMulti object
This function creates a new CurlMulti object which corresponds to a CURLM handle in libcurl.
pycurl.CurlShare() -> CurlShare object
This function creates a new CurlShare object which corresponds to a CURLSH handle in libcurl. CurlShare objects is what you pass as an argument to the SHARE option on Curl objects.