curl登录并浏览网站的其余部分

时间:2015-12-28 05:48:19

标签: php curl

因此,我正在创建一个脚本,该脚本将自动登录到远程站点。它按预期工作,但当用户浏览远程站点中的任何页面时,它会不断要求用户再次登录。

如何防止这种情况?这可能吗?这是当前的代码:

$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_URL=>$url,
    CURLOPT_HEADER=>false,
    CURLOPT_RETURNTRANSFER=>true,
    CURLOPT_FOLLOWLOCATION=>true,
    CURLOPT_POST=>true,
    CURLOPT_POSTFIELDS=>$login,
    CURLOPT_COOKIEFILE=>$rootPath.'/tmpfile/cookie.txt',
    CURLOPT_COOKIEJAR=>$rootPath.'/tmpfile/cookie.txt'
));

$content = curl_exec($ch);

1 个答案:

答案 0 :(得分:0)

您的代码似乎可行。但大多数情况下常见的错误是在制作第二个之前没有关闭卷曲手柄。关闭它,然后再重新初始化。

curl_close($ch);

如果这仍然无法解决您的问题,那么您可以调试代码以便执行以下操作。

1)检查cookie.txt文件中的内容。您可以在登录请求之后打印文件的内容。

2)运行启用了详细模式的脚本,以查看为用户浏览页面发送的请求。

CURLOPT_VERBOSE => true,

3)您也可以手动从文件(或浏览器)复制cookie,并将其用于“用户浏览”请求,并检查cookie是否有效。

CURLOPT_HTTPHEADER => array("Cookie: session-x=hello-kookie"),  // example