Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_COOKIEFILE (3)

Name

CURLOPT_COOKIEFILE - file name to read cookies from

Synopsis

#include <curl/curl.h>

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

Description

CURLOPT_COOKIEFILE(3)      curl_easy_setopt options      CURLOPT_COOKIEFILE(3)



NAME
       CURLOPT_COOKIEFILE - file name to read cookies from

SYNOPSIS
       #include <curl/curl.h>

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

DESCRIPTION
       Pass  a  pointer  to  a  null-terminated string as parameter. It should
       point to the file name of your file holding cookie data  to  read.  The
       cookie  data  can  be  in either the old Netscape / Mozilla cookie data
       format or just regular HTTP headers  (Set-Cookie  style)  dumped  to  a
       file.

       It  also enables the cookie engine, making libcurl parse and send cook-
       ies on subsequent requests with this handle.

       Given an empty or non-existing file or by passing the empty string ("")
       to  this  option,  you can enable the cookie engine without reading any
       initial cookies. If you tell libcurl the file name is "-" (just a  sin-
       gle minus sign), libcurl will instead read from stdin.

       This  option only reads cookies. To make libcurl write cookies to file,
       see CURLOPT_COOKIEJAR(3).

       If you use the Set-Cookie file format and do not specify a domain  then
       the  cookie  is  not sent since the domain will never match. To address
       this, set a domain in Set-Cookie line (doing  that  will  include  sub-
       domains) or preferably: use the Netscape format.

       If you use this option multiple times, you just add more files to read.
       Subsequent files will add more cookies.

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

       Setting  this option to NULL will (since 7.77.0) explicitly disable the
       cookie engine and clear the list of files to read cookies from.

DEFAULT
       NULL

PROTOCOLS
       HTTP

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin");

         /* get cookies from an existing file */
         curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "/tmp/cookies.txt");

         ret = curl_easy_perform(curl);

         curl_easy_cleanup(curl);
       }

Cookie file format
       The cookie  file  format  and  general  cookie  concepts  in  curl  are
       described  in  the  HTTP-COOKIES.md  file,  also  hosted  online  here:
       https://curl.se/docs/http-cookies.html

AVAILABILITY
       As long as HTTP is supported

RETURN VALUE
       Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       CURLOPT_COOKIE(3), CURLOPT_COOKIEJAR(3),



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source      was      downloaded       from        https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.83.1                 November 26, 2021         CURLOPT_COOKIEFILE(3)