2011-04-29 72 views
1

假設我使用cURL請求登錄到一個站點。使用cURL - 維護cookies和會話等

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $URLs["sign_in"]); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "cj.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, "cj.txt"); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $pData); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_REFERER, $URLs["home"]); 
curl_exec($ch); 
curl_close($ch); 

現在,假設我提出另一個請求來獲得另一個頁面。我如何保持相同的會話&我有(在前面的代碼中)我的下一個請求中存在的cookie?我試過這個,不工作:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $URLs["enter"]); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "cj.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, "cj.txt"); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_REFERER, $URLs["home"]); 
$data = curl_exec($ch); 
curl_close($ch); 

順便說一句,這是所有在同一個PHP文件。

任何想法?提前致謝!

回答

0

它適合我。

檢查您是否有權對cj.txt進行寫入。或者,如果cj.txt不存在,請確保您有權創建它(目錄執行權限,我相信)。