使用cURL - 维护cookie&会议等

时间:2011-04-29 00:33:09

标签: php curl

假设我使用cURL提出登录网站的请求。

$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);

现在,说我再提出要求获取另一页的请求。我怎样才能保持相同的会话和饼干我(在之前的代码中)在我的下一个请求中存活了吗?我试过这个,不工作:

$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);

BTW,这都在同一个PHP文件中。

有什么想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

它对我有用。

检查您是否有权使cj.txt可写。或者,如果cj.txt不存在,请确保您有权创建它(我相信目录执行权限)。