2011-04-29 67 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不存在,请确保您有权创建它(目录执行权限,我相信)。