假设我使用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文件中。
有什么想法吗?提前谢谢!
答案 0 :(得分:0)
它对我有用。
检查您是否有权使cj.txt
可写。或者,如果cj.txt
不存在,请确保您有权创建它(我相信目录执行权限)。