Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019
 
 

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 *file-
name);

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 *file-
       name);

DESCRIPTION
       Pass a pointer to a zero 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).

       Exercise  caution  if  you are using this option and multiple transfers
       may occur.  If you use the Set-Cookie format and don't specify a domain
       then  the  cookie is sent for any domain (even after redirects are fol-
       lowed) and cannot be modified by a server-set cookie. If a server  sets
       a  cookie  of the same name then both will be sent on a future transfer
       to that server, likely not what you intended.  To address these  issues
       set a domain in Set-Cookie (doing that will include sub-domains) or 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.

DEFAULT
       NULL

PROTOCOLS
       HTTP

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "http://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);
       }

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
       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source   was    downloaded    from     https://github.com/curl/curl/ar-
       chive/curl-7_64_0.zip

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



libcurl 7.37.0                    17 Jun 2014            CURLOPT_COOKIEFILE(3)