2015-01-31 133 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