4
通常,當使用瀏覽器時,會話cookie在瀏覽器窗口關閉時過期。當會話Cookie使用cURL過期時
但是,當使用(PHP)cURL(和設置COOKIE_FILE
和COOKIE_JAR
選項),他們多久活着?
通常,當使用瀏覽器時,會話cookie在瀏覽器窗口關閉時過期。當會話Cookie使用cURL過期時
但是,當使用(PHP)cURL(和設置COOKIE_FILE
和COOKIE_JAR
選項),他們多久活着?
根據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。這是您的腳本的選擇。
我認爲會話cookie在curl_close($ ch)上過期; – Entretoize 2017-07-12 08:55:21
@Entretoize,但[curl_setopt函數](https://secure.php.net/manual/en/function.curl-setopt.php)的文檔與您的想法不同。 – 2017-09-10 07:28:41