php - 当 session Cookie 过期时使用 cURL

标签 php curl cookies session-cookies

通常,在使用浏览器时, session cookie 会在浏览器窗口关闭时过期。

但是当使用 (php) cURL(并设置 COOKIE_FILECOOKIE_JAR 选项)时,它们能存活多久?

最佳答案

根据 mozilla.org :

session cookie [...] is deleted when the client shuts down, because it didn't specify an Expires or Max-Age directive. However, web browsers may use session restoring, which makes most session cookies permanent, as if the browser was never closed.

根据documentation of curl_setopt功能:

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.

如果您将 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);

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

关于php - 当 session Cookie 过期时使用 cURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28254892/

相关文章:

javascript - Javascript cookie 的用途是什么?

php - 我有两个日期变量,date_from 和 date_to,我可以读入它们之间的每个值吗?

php - 获取注册用户信息

php - 下载图像时处理 404 错误

asp.net - 共享 ASP.NET_SessionId 和 .ASPXAUTH cookie 安全风险

java - GWT Cookie 在 Firefox 中未被删除

php - Laravel Eloquent 计数乘法

php - 使用自定义 cURL 和 PHP 代码进行 Stripe 收费时出错

linux - 如何让curl使用指定的ip而不是在/etc/hosts中设置?

facebook - 通过主题标签获取 Facebook 帖子