summaryrefslogtreecommitdiff
path: root/doc/curlshareobject.rst
blob: d474b06f385a94c8d6393746b219b2b3b74bef5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CurlShare Object
================

CurlShare objects have the following methods:

``setopt(``*option, value*``)`` -> *None*

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
either ``LOCK_DATA_COOKIE`` or ``LOCK_DATA_DNS``.

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, 'http://curl.haxx.se')
    curl.setopt(pycurl.SHARE, s)
    curl.perform()
    curl.close()


.. _curl_share_setopt:
    http://curl.haxx.se/libcurl/c/curl_share_setopt.html