通常,在使用浏览器时,会话cookie在关闭浏览器窗口时过期。
但是,在使用(php)cURL(并设置COOKIE_FILE和COOKIE_JAR选项)时,它们保持多长时间?
但是,在使用(php)cURL(并设置COOKIE_FILE和COOKIE_JAR选项)时,它们保持多长时间?
根据会话cookie(session cookie)[...]在客户端关闭时被删除,因为它没有指定过期时间或最大年龄指令。然而,Web浏览器可能使用会话恢复,使大多数会话cookie永久存在,就好像浏览器从未关闭过一样。
curl_setopt
函数的文档所述:
如果您使用以下方式将cookie保存到指定文件中:默认情况下,libcurl始终存储和加载所有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);
然后,从客户端的角度来看,只要使用正确的cookie设置CURLOPT_COOKIEJAR
,会话将保持活动状态。这是您脚本的选择。