Imported Upstream version 7.59.0
[platform/upstream/curl.git] / docs / libcurl / opts / CURLOPT_COOKIEJAR.3
1 .\" **************************************************************************
2 .\" *                                  _   _ ____  _
3 .\" *  Project                     ___| | | |  _ \| |
4 .\" *                             / __| | | | |_) | |
5 .\" *                            | (__| |_| |  _ <| |___
6 .\" *                             \___|\___/|_| \_\_____|
7 .\" *
8 .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
9 .\" *
10 .\" * This software is licensed as described in the file COPYING, which
11 .\" * you should have received as part of this distribution. The terms
12 .\" * are also available at https://curl.haxx.se/docs/copyright.html.
13 .\" *
14 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
15 .\" * copies of the Software, and permit persons to whom the Software is
16 .\" * furnished to do so, under the terms of the COPYING file.
17 .\" *
18 .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 .\" * KIND, either express or implied.
20 .\" *
21 .\" **************************************************************************
22 .\"
23 .TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
24
25 .SH NAME
26 CURLOPT_COOKIEJAR \- file name to store cookies to
27 .SH SYNOPSIS
28 #include <curl/curl.h>
29
30 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, char *filename);
31 .SH DESCRIPTION
32 Pass a \fIfilename\fP as char *, zero terminated. This will make libcurl write
33 all internally known cookies to the specified file when
34 \fIcurl_easy_cleanup(3)\fP is called. If no cookies are known, no file will be
35 created. Specify "-" as filename to instead have the cookies written to
36 stdout. Using this option also enables cookies for this session, so if you for
37 example follow a location it will make matching cookies get sent accordingly.
38
39 Note that libcurl doesn't read any cookies from the cookie jar. If you want to
40 read cookies from a file, use \fICURLOPT_COOKIEFILE(3)\fP.
41
42 If the cookie jar file can't be created or written to (when the
43 \fIcurl_easy_cleanup(3)\fP is called), libcurl will not and cannot report an
44 error for this. Using \fICURLOPT_VERBOSE(3)\fP or
45 \fICURLOPT_DEBUGFUNCTION(3)\fP will get a warning to display, but that is the
46 only visible feedback you get about this possibly lethal situation.
47
48 Since 7.43.0 cookies that were imported in the Set-Cookie format without a
49 domain name are not exported by this option.
50
51 The application does not have to keep the string around after setting this
52 option.
53 .SH DEFAULT
54 NULL
55 .SH PROTOCOLS
56 HTTP
57 .SH EXAMPLE
58 .nf
59 CURL *curl = curl_easy_init();
60 if(curl) {
61   curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin");
62
63   /* export cookies to this file when closing the handle */
64   curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "/tmp/cookies.txt");
65
66   ret = curl_easy_perform(curl);
67
68   /* close the handle, write the cookies! */
69   curl_easy_cleanup(curl);
70 }
71 .fi
72 .SH AVAILABILITY
73 Along with HTTP
74 .SH RETURN VALUE
75 Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or
76 CURLE_OUT_OF_MEMORY if there was insufficient heap space.
77 .SH "SEE ALSO"
78 .BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIE "(3), "
79 .BR CURLOPT_COOKIELIST "(3), "