| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- .\" generated by cd2nroff 0.1 from CURLOPT_COOKIE.md
- .TH CURLOPT_COOKIE 3 "2025-01-17" libcurl
- .SH NAME
- CURLOPT_COOKIE \- HTTP Cookie header
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie);
- .fi
- .SH DESCRIPTION
- Pass a pointer to a null\-terminated string as parameter. It is used to set one
- or more cookies 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.
- 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, followed redirections or
- similar, they 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 they are not be modified by it. If you enable
- the cookie engine and either you have imported a cookie of the same name
- (e.g. \(aqfoo\(aq) or the server has set one, it has no effect on the cookies you
- set here. A request to the server sends both the \(aqfoo\(aq held by the cookie
- engine and the \(aqfoo\(aq held by this option. To set a cookie that is instead held
- by the cookie engine and can be modified by the server use
- \fICURLOPT_COOKIELIST(3)\fP.
- Using this option multiple times makes the last set string override the
- previous ones.
- This option does not enable the cookie engine. Use \fICURLOPT_COOKIEFILE(3)\fP
- or \fICURLOPT_COOKIEJAR(3)\fP to enable parsing and sending cookies
- automatically.
- The application does not have to keep the string around after setting this
- option.
- If libcurl is built with PSL (\fIPublic Suffix List\fP) support, it detects and
- discards cookies that are specified for such suffix domains that should not be
- allowed to have cookies. If libcurl is \fInot\fP built with PSL support, it has no
- ability to stop super cookies. PSL support is identified by the
- \fBCURL_VERSION_PSL\fP feature bit returned by \fIcurl_version_info(3)\fP.
- .SH DEFAULT
- NULL, no cookies
- .SH PROTOCOLS
- This functionality affects http only
- .SH EXAMPLE
- .nf
- int main(void)
- {
- 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);
- }
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.1
- .SH 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.
- .SH SEE ALSO
- .BR CURLINFO_COOKIELIST (3),
- .BR CURLOPT_COOKIEFILE (3),
- .BR CURLOPT_COOKIEJAR (3),
- .BR CURLOPT_COOKIELIST (3),
- .BR CURLOPT_HTTPHEADER (3)
|