Section: curl_easy_setopt options (3)
Updated: November 04, 2020
CURLOPT_COOKIESESSION - start a new cookie session
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIESESSION, long init);
Pass a long set to 1 to mark this as a new cookie "session". It will force
libcurl to ignore all cookies it is about to load that are "session cookies"
from the previous session. By default, libcurl always stores and loads all
cookies, independent if they are session cookies or not. Session cookies are
cookies without expiry date and they are meant to be alive and existing for
this "session" only.
A "session" is usually defined in browser land for as long as you have your
browser up, more or less.
CURL *curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin");
/* new "session", don't load session cookies */
curl_easy_setopt(curl, CURLOPT_COOKIESESSION, 1L);
/* get the (non session) cookies from this file */
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "/tmp/cookies.txt");
ret = curl_easy_perform(curl);
Along with HTTP