Provided by: libcurl4-doc_7.68.0-1ubuntu2.25_all bug

NAME

       CURLOPT_SHARE - specify share handle to use

SYNOPSIS

       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SHARE, CURLSH *share);

DESCRIPTION

       Pass  a  share  handle  as  a  parameter.  The  share handle must have been created by a previous call to
       curl_share_init(3). Setting this option, will make this curl handle use the data from the  shared  handle
       instead  of  keeping  the  data  to  itself. This enables several curl handles to share data. If the curl
       handles are used simultaneously in multiple threads, you MUST  use  the  locking  methods  in  the  share
       handle. See curl_share_setopt(3) for details.

       If  you add a share that is set to share cookies, your easy handle will use that cookie cache and get the
       cookie engine enabled. If you unshare an object that was using cookies (or change to another object  that
       doesn't share cookies), the easy handle will get its cookie engine disabled.

       Data that the share object is not set to share will be dealt with the usual way, as if no share was used.

       Set this option to NULL again to stop using that share object.

DEFAULT

       NULL

PROTOCOLS

       All

EXAMPLE

       CURL *curl = curl_easy_init();
       CURL *curl2 = curl_easy_init(); /* a second handle */
       if(curl) {
         CURLSH *shobject = curl_share_init();
         curl_share_setopt(shobject, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
         curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "");
         curl_easy_setopt(curl, CURLOPT_SHARE, shobject);
         ret = curl_easy_perform(curl);
         curl_easy_cleanup(curl);

         /* the second handle shares cookies from the first */
         curl_easy_setopt(curl2, CURLOPT_URL, "https://example.com/second");
         curl_easy_setopt(curl2, CURLOPT_COOKIEFILE, "");
         curl_easy_setopt(curl2, CURLOPT_SHARE, shobject);
         ret = curl_easy_perform(curl2);
         curl_easy_cleanup(curl2);

         curl_share_cleanup(shobject);
       }

AVAILABILITY

       Always

RETURN VALUE

       Returns CURLE_OK

SEE ALSO

       CURLOPT_COOKIE(3),