CURLOPT_COOKIE
(3)
Name
CURLOPT_COOKIE - HTTP Cookie header
Synopsis
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie);
Description
CURLOPT_COOKIE(3) curl_easy_setopt options CURLOPT_COOKIE(3)
NAME
CURLOPT_COOKIE - HTTP Cookie header
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie);
DESCRIPTION
Pass a pointer to a null-terminated string as parameter. It will be
used to set a cookie in the HTTP request. The format of the string
should be NAME=CONTENTS, where NAME is the cookie name and CONTENTS is
what the cookie should contain.
If you need to set multiple cookies, set them all using a single option
concatenated like this: "name1=content1; name2=content2;" etc.
This option sets the cookie header explicitly in the outgoing
request(s). If multiple requests are done due to authentication, fol-
lowed redirections or similar, they will all get this cookie passed on.
The cookies set by this option are separate from the internal cookie
storage held by the cookie engine and will not be modified by it. If
you enable the cookie engine and either you have imported a cookie of
the same name (e.g. 'foo') or the server has set one, it will have no
effect on the cookies you set here. A request to the server will send
both the 'foo' held by the cookie engine and the 'foo' held by this
option. To set a cookie that is instead held by the cookie engine and
can be modified by the server use CURLOPT_COOKIELIST(3).
Using this option multiple times will only make the latest string over-
ride the previous ones.
This option will not enable the cookie engine. Use CURLOPT_COOK-
IEFILE(3) or CURLOPT_COOKIEJAR(3) to enable parsing and sending cookies
automatically.
The application does not have to keep the string around after setting
this option.
DEFAULT
NULL, no cookies
PROTOCOLS
HTTP
EXAMPLE
CURL *curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
curl_easy_setopt(curl, CURLOPT_COOKIE, "tool=curl; fun=yes;");
curl_easy_perform(curl);
}
AVAILABILITY
If HTTP is enabled
RETURN VALUE
Returns CURLE_OK if HTTP is enabled, CURLE_UNKNOWN_OPTION if not, or
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+------------------+
|Availability | web/curl |
+---------------+------------------+
|Stability | Uncommitted |
+---------------+------------------+
SEE ALSO
CURLOPT_COOKIEFILE(3), CURLOPT_COOKIEJAR(3), CURLOPT_COOKIELIST(3),
CURLOPT_HTTPHEADER(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_COOKIE(3)