我已经制作了一个PHP脚本来登录网站。该脚本工作正常,但问题是我有时必须使用不同的帐户登录同一网站。如果我发布第二次登录,则第一个会话仍然存在,并且该站点将我重定向到登录页面。如果我再次发布第二次登录,它可以正常工作。
所以我的问题是如何在第二次登录时杀死前一个会话。
编辑1:我用浏览器运行脚本。登录后,它会重定向到自己的网站。如果我在两个登录帖子之间关闭浏览器,它可以正常工作。因此脚本必须在浏览器本身中杀死前一个会话。
提前谢谢。
我的代码:
function post_data($url, $data, $header){
$fp = fopen("cookie.txt", "w");
fclose($fp);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, realpath("cookie.txt"));
curl_setopt($ch, CURLOPT_COOKIEFILE, realpath("cookie.txt"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 40000);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_ENCODING, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
return curl_exec($ch);
curl_close($ch);
unset($ch);
}
答案 0 :(得分:0)
使用不同的cookiejar?您可以添加第4个参数来添加自定义curl选项以覆盖默认选项: