2012-04-22 92 views
2

我的cURL會話每次運行時都會生成一個新的cookie。 如何爲不同的腳本使用相同的cookie?cURL - 需要在不同腳本中使用相同的會話cookie

我的設置:

curl_setopt($curl, CURLOPT_COOKIESESSION, false); 
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiefilename); 
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiefilename); 

謝謝!

+0

什麼是$ cookiefilename?它是否可寫?文件是否存在幷包含預期的數據? – lonesomeday 2012-04-22 19:54:29

+0

curl將支持遠程站點的cookie設置。如果網站在cookie上指定了「會話」生存時間,curl會在curl對象被終止時刪除cookie,而不管cookiefile/jar設置如何。 – 2012-04-22 19:57:00

+0

#lonesomeday,$ cookiefilename是文件名的字符串。它是可寫的。 – Ted 2012-04-22 20:06:07

回答

1

您是否嘗試過使用True?
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
您是否已驗證Cookie正在寫入$ cookiefilename?
您是否試圖在Cookie(s)的持續時間內「重新運行」腳本?

您正試圖重新使用cookie(s)?

+0

我有幾個訪問步驟,我正在做我的cURL。如果我將其設置爲True,其中任何一個會話都會被破壞,我無法達到我需要的程度。 - Cookie寫入文件即可。關於時間,我不知道如何告訴所有它說的是:#HttpOnly_www.server.com FALSE \t/\t FALSE ASP.NET_SessionId \t 5g5iq0yozfe3pw20mpa5dz45 – Ted 2012-04-22 23:33:21

+1

你調用所有的curlopt的每一步?我有一個腳本,在第一次通過時登錄並將它們存儲在COOKIEJAR中。在隨後執行腳本時,該文件將打開以供COOKIEFILE重新使用。簡而言之,Cookie仍然有效一段時間,並允許腳本繞過登錄步驟。該腳本僅在初始'curl_exec($ curl)'之前設置您在一次提問中顯示的3個curlop, – David 2012-04-23 00:14:58

相關問題