2015-01-31 121 views
4

通常,当使用浏览器时,会话cookie在浏览器窗口关闭时过期。当会话Cookie使用cURL过期时

但是,当使用(PHP)cURL(和设置COOKIE_FILECOOKIE_JAR选项),他们多久活着?

回答

-1

根据mozilla.org

会话cookie [...]当客户端关闭被删除,因为它没有指定一个过期或Max-age指令。但是,Web浏览器可能会使用会话恢复,这会使大多数会话Cookie永久化,就好像浏览器从未关闭一样。

按照documentation of curl_setopt功能:

默认情况下,的libcurl总是存储和加载所有Cookie,独立的,如果他们是会话cookie与否。会话cookie是没有过期日期的cookies,它们只是为了存活并存在于“会话”中。

如果您保存在指定文件与

$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设置与正确的cookie。这是您的脚本的选择。

+0

我认为会话cookie在curl_close($ ch)上过期; – Entretoize 2017-07-12 08:55:21

+0

@Entretoize,但[curl_setopt函数](https://secure.php.net/manual/en/function.curl-setopt.php)的文档与您的想法不同。 – 2017-09-10 07:28:41