У меня проблема с функцией проверки скручиваемости. Функция, возможно, не может войти в защищенный сайт. Функция возвращает содержимое страницы входа. Спасибо за помощь. Функция возвращает содержимое, когда $ visit_url не является защищенной страницей.
Моя функция:
function test( $login_user, $login_pass, $login_url, $visit_url, $http_agent, $cookie_file ) {
$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/CAcerts/sni238399cloudflaresslcom.crt");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_COOKIEJAR, realpath($cookie_file) );
$responseget = curl_exec($ch);
$dom = new \DOMDocument;
$dom->loadHTML($responseget);
$tags = $dom->getElementsByTagName('input');
for($i = 0;$i <$tags->length;$i++) {
$grab = $tags->item($i);
if($grab->getAttribute('name') === '_csrf_token') {
$token = $grab->getAttribute('value');
}
};
$data = "login=". $login_user ."&password=" . $login_pass . "&_csrf_token=" . $token;
// $data = array(
// "login"=> "user",
// "password"=> "password",
// "_csrf_token"=> $token
// );
curl_setopt( $ch, CURLOPT_URL, $login_url );
curl_setopt( $ch, CURLOPT_POST, true);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );
curl_setopt( $ch, CURLOPT_COOKIEJAR, realpath($cookie_file) );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
$responseget = curl_exec($ch);
curl_setopt( $ch, CURLOPT_URL, $visit_url );
curl_setopt( $ch, CURLOPT_COOKIEJAR, realpath($cookie_file) );
$responseget = curl_exec($ch);
$content = $responseget;
return $content;
}