php curl登录不同帐户的网站

时间:2017-02-18 19:10:15

标签: php curl login

我已经制作了一个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);
}

1 个答案:

答案 0 :(得分:0)

使用不同的cookiejar?您可以添加第4个参数来添加自定义curl选项以覆盖默认选项:

http://php.net/manual/en/function.curl-setopt-array.php