manpagez: man pages & more
man CURLOPT_COOKIEJAR(3)
Home | html | info | man
CURLOPT_COOKIEJAR(3)       Library Functions Manual       CURLOPT_COOKIEJAR(3)


NAME

       CURLOPT_COOKIEJAR - filename to store cookies to


SYNOPSIS

       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, char *filename);


DESCRIPTION

       Pass a filename as a char *, null-terminated. This makes libcurl write
       all internally known cookies to the specified file when
       curl_easy_cleanup(3) is called. If no cookies are kept in memory at
       that time, no file is created.  Specify "-" as filename to instead have
       the cookies written to stdout. Using this option also enables cookies
       for this session, so if you for example follow a redirect it makes
       matching cookies get sent accordingly.

       Note that libcurl does not read any cookies from the cookie jar
       specified with this option. To read cookies from a file, use
       CURLOPT_COOKIEFILE(3).

       If the cookie jar file cannot be created or written to (when the
       curl_easy_cleanup(3) is called), libcurl does not and cannot report an
       error for this. Using CURLOPT_VERBOSE(3) or CURLOPT_DEBUGFUNCTION(3)
       displays a warning, but that is the only visible feedback you get about
       this possibly lethal situation.

       Cookies are imported in the Set-Cookie format without a domain name are
       not exported by this option.

       The application does not have to keep the string around after setting
       this option.

       Using this option multiple times makes the last set string override the
       previous ones. Set it to NULL to disable its use again.


SECURITY CONCERNS

       libcurl cannot fully protect against attacks where an attacker has
       write access to the same directory where it is directed to save files.
       This is particularly sensitive if you save files using elevated
       privileges.


DEFAULT

       NULL


PROTOCOLS

       This functionality affects http only


EXAMPLE

       int main(void)
       {
         CURL *curl = curl_easy_init();
         if(curl) {
           CURLcode res;
           curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin");

           /* export cookies to this file when closing the handle */
           curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "/tmp/cookies.txt");

           res = curl_easy_perform(curl);

           /* close the handle, write the cookies */
           curl_easy_cleanup(curl);
         }
       }


AVAILABILITY

       Added in curl 7.9


RETURN VALUE

       curl_easy_setopt(3) returns a CURLcode indicating success or error.

       CURLE_OK (0) means everything was OK, non-zero means an error occurred,
       see libcurl-errors(3).


SEE ALSO

       CURLOPT_COOKIE(3), CURLOPT_COOKIEFILE(3), CURLOPT_COOKIELIST(3)

libcurl                           2025-02-08              CURLOPT_COOKIEJAR(3)

curl 8.12.0 - Generated Fri Feb 14 14:18:55 CST 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.