会话Cookie使用cURL过期时

mrd*_*iri 5 php cookies curl session-cookies

通常,在使用浏览器时,会话cookie在浏览器窗口关闭时到期.

但是当使用(php)cURL(和set COOKIE_FILECOOKIE_JARoptions)时,它们会活多久?

Ort*_*kni 0

mozilla.org报道:

会话 cookie [...] 在客户端关闭时被删除,因为它没有指定 Expires 或 Max-Age 指令。然而,网络浏览器可能会使用会话恢复,这使得大多数会话 cookie 成为永久性的,就好像浏览器从未关闭过一样。

根据函数文档curl_setopt

默认情况下,libcurl 始终存储和加载所有 cookie,无论它们是否是会话 cookie,都是独立的。会话 cookie 是没有过期日期的 cookie,它们仅在该“会话”期间有效并存在。

如果您将 cookie 保存在指定文件中

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://stackoverflow.com');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
$output = curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

然后,从客户端的角度来看,只要CURLOPT_COOKIEJAR设置了正确的 cookie,会话就会处于活动状态。这是您的脚本的选择。