CurlShare Object

class pycurl.CurlShare

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.

CurlShare objects have the following methods:

close() None

Close shared handle.

Corresponds to curl_share_cleanup in libcurl. This method is automatically called by pycurl when a CurlShare object no longer has any references to it, but can also be called explicitly.

setopt(option, value) None

Set curl share option.

Corresponds to curl_share_setopt in libcurl, where option is specified with the CURLSHOPT_* constants in libcurl, except that the CURLSHOPT_ prefix has been changed to SH_. Currently, value must be one of: LOCK_DATA_COOKIE, LOCK_DATA_DNS, LOCK_DATA_SSL_SESSION or LOCK_DATA_CONNECT.

Example usage:

import pycurl
curl = pycurl.Curl()
s = pycurl.CurlShare()
s.setopt(pycurl.SH_SHARE, pycurl.LOCK_DATA_COOKIE)
s.setopt(pycurl.SH_SHARE, pycurl.LOCK_DATA_DNS)
curl.setopt(pycurl.URL, 'https://curl.haxx.se')
curl.setopt(pycurl.SHARE, s)
curl.perform()
curl.close()

Raises pycurl.error exception upon failure.