为了账号安全,请及时绑定邮箱和手机立即绑定

使用 curl 登录并多次移动到另一个页面

使用 curl 登录并多次移动到另一个页面

PHP
波斯汪 2022-08-19 09:57:31
我正在尝试登录到一个网站并重定向到数组中声明的页面。我成功登录,我得到了数组中的第一个网址。但是问题是,当我第二次循环通过代码时,我遇到了错误。代码:$url = 'https://url/signin';  $ch = curl_init($url);  $data = [    "e_mail" => "email@",    "password" => "123456"  ];  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // allow redirections  curl_setopt($ch, CURLOPT_POST, true); // we are making post request  curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //   curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // COOKIEEjAR To save data for cookies created for login process  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // TRUE means dont just echo output the data instead we can store the request response in some variaable  $result = curl_exec($ch);  $urls_to_loop = array('url1', 'url2');foreach ($urls_to_loop as $key => $url) {          curl_setopt($ch, CURLOPT_URL, $url);          $exec = curl_exec($ch);          // echo($exec);          curl_close($ch);// close login CURL resource, and free up system resources          $html = new simple_html_dom();          $html->load($exec);  $links = [];  foreach($html->find('link') as $element){    if($element->href[-1] === '4'){      // check if url is not in the array      if(!in_array($element->href, $links)){        array_push($links, $element->href);      }    }   }}//END foreach这是错误:警告:curl_setopt(): 提供的资源不是第 263 行 C:\xampp\htdocs\web\index.php中有效的 cURL 句柄资源警告:curl_exec(): 提供的资源不是第 264 行 C:\xampp\htdocs\web\index.php中有效的 cURL 句柄资源警告:curl_close(): 提供的资源不是第 267 行 C:\xampp\htdocs\web\index.php中有效的 cURL 句柄资源警告:curl_setopt(): 提供的资源不是第 263 行 C:\xampp\htdocs\web\index.php中有效的 cURL 句柄资源
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您正在循环期间关闭处理程序。

curl_close($ch);

将该行移到脚本的末尾。


查看完整回答
反对 回复 2022-08-19
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信