Войдите с помощью curl и переходите на другую страницу несколько раз - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь зайти на сайт и перенаправить на страницы, которые объявлены в массиве. я вошел в систему успешно, и я получаю первый URL в массиве. но проблема в том, что я получаю ошибку, когда повторяю код во второй раз.

код:

$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 (): предоставленный ресурс не является допустимым ресурсом дескриптора cURL в C: \ xampp \ htdocs \ web \ index. php в строке 263

Предупреждение: curl_exe c (): предоставленный ресурс не является допустимым ресурсом дескриптора cURL в C: \ xampp \ htdocs \ web \ index. php в строке 264

Предупреждение: curl_close (): предоставленный ресурс не является допустимым ресурсом дескриптора cURL в C: \ xampp \ htdocs \ web \ index. php в строке 267

Предупреждение: curl_setopt (): предоставленный ресурс не является допустимым ресурсом дескриптора cURL в C: \ xampp \ htdocs \ web \ index. php в строке 263

1 Ответ

0 голосов
/ 25 января 2020

Вы закрываете обработчик в течение l oop.

curl_close($ch);

Переместите эту строку в конец вашего скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...