CURLINFO_COOKIELIST(3)

CURLINFO_COOKIELIST3

Get all known cookies

Usage

#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST,
                           struct curl_slist **cookies);

Overview

Pass a pointer to a 'struct curl_slist *' to receive a linked-list of all cookies curl knows (expired ones, too). Do not forget to call curl_slist_free_all(3) on the list after it has been used. If there are no cookies (cookies for the handle have not been enabled or simply none have been received) the 'struct curl_slist *' is made a NULL pointer.

Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option.

Protocols

HTTP(S)

Examples

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
    /* enable the cookie engine */
    curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "");
    res = curl_easy_perform(curl);
    if(!res) {
      /* extract all known cookies */
      struct curl_slist *cookies = NULL;
      res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies);
      if(!res && cookies) {
        /* a linked list of cookies in cookie file format */
        struct curl_slist *each = cookies;
        while(each) {
          printf("%s\n", each->data);
          each = each->next;
        }
        /* we must free these cookies when we are done */
        curl_slist_free_all(cookies);
      }
    }
    curl_easy_cleanup(curl);
  }
}

Return value

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

Releases

66 releases since macOS 10.12; the text changed 13 times.

  1. 10.12–10.12.1
  2. 10.12.2–10.12.5
  3. 10.12.6–10.14.6
  4. 10.15–11.5
  5. 12.0.1–12.2
  6. 12.3–12.5
  7. 13.0
  8. 13.1
  9. 13.2
  10. 13.3
  11. 13.4
  12. 13.5–14.1
  13. 14.2–14.4
  14. 14.5–26.5

Availability

Added in 7.14.1

From curl 166.0.0.0.1 in macOS 26.5. Parsed by carta from the page's man source.