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

Php curl登录并浏览站点的其余部分,php,curl,Php,Curl,因此,我正在创建一个脚本,该脚本将自动将用户登录到远程站点。它的工作和预期的一样,但当用户浏览远程站点中的任何页面时,都会要求用户再次登录 如何预防?这样做可能吗?以下是当前代码: $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL=>$url, CURLOPT_HEADER=>false, CURLOPT_RETURNTRANSFER=>true, CURLOPT_FOLLO

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

如何预防?这样做可能吗?以下是当前代码:

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

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

curl_close($ch);
如果这仍然不能解决您的问题,那么您可以调试代码以实现以下功能

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

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

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

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

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

curl_close($ch);
如果这仍然不能解决您的问题,那么您可以调试代码以实现以下功能

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

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

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

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

我明白了。但如果我在iframe中放置一个脚本来自动登录,然后用户在登录后只需单击远程站点中存在的菜单,那么这仍然有效吗?因为目前的情况就像我告诉你的那样。我明白了。但是如果我在iframe中放置一个自动登录的脚本,然后用户在登录后只需单击远程站点中存在的菜单,那么这仍然有效吗?因为目前的情况就像我告诉你的那样。