get_headers выдает странный ответ. И проверка ссылки на работоспособность

Есть такой код, на проверку сайта по заголовкам из ответа сервера на HTTP-запрос:

    stream_context_set_default( [
    'ssl' => [
        'verify_peer' => false,
        'verify_peer_name' => false,
    ],
]);
$httpsDomain = ('https://'.$domain);
function urlExists(string $httpsDomain): bool
{
    return substr(get_headers($httpsDomain)[1], 9, 3) == 200;
}
$code = urlExists($httpsDomain); 
if($code == true){
       $status = "Сайт рабочий!";
    }else{
      $status = "Сайт не рабочий";
    }
echo $status;?>

Вот что он выдает:

    Array ( [0] => HTTP/1.0 301 Moved Permanently 
[Location] => https://www.google.com/ 
[Content-Type] => Array ( 
[0] => text/html; charset=UTF-8 
[1] => text/html; charset=ISO-8859-1 ) 
[Date] => Array ( 
[0] => Fri, 12 Jun 2020 16:18:40 GMT 
[1] => Fri, 12Jun 2020 16:18:41 GMT ) 
[Expires] => Array ( 
[0] => Sun, 12 Jul 2020 16:18:40 GMT 
[1] => -1 ) 
[Cache-Control] => Array ( 
[0] => public, max-age=2592000 
[1] => private, max-age=0 ) 
[Server] => Array ( 
[0] => gws 
[1] => gws ) 
[Content-Length] => 220 [X-XSS-Protection]=> Array ( 
[0] => 0 
[1] => 0 ) 
[X-Frame-Options] => Array ( 
[0] => SAMEORIGIN 
[1] => SAMEORIGIN ) 
[Alt-Svc] => Array ( 
[0] => h3-27=":443"; ma=2592000,h3-25=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443";ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" [1] => h3-27=":443"; ma=2592000,h3-25=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443";ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" ) 
[1] => HTTP/1.0 200 OK 
[P3P] => CP="This is not a P3P policy! See g.co/p3phelp for more info." 
[Set-Cookie] => Array ( 
[0] => 1P_JAR=2020-06-12-16; expires=Sun,12-Jul-2020 16:18:41 GMT; path=/; domain=.google.com; Secure 
[1] => NID=204=K_FN6o3u_CgHWGTrp7DbR-Xv328FsNzxmi_0WUTrB58Y4DOSaedkx5_RVs8JYw06BK5eHamoZ40-NvXKlvfgjTEsjS_Fim-ZOqzBOXMIABec4yXJJELRDxydfq-EiIkSnDV5KWyX9jJWqyVqGKULdKzqSlEIpJvna_8e-6y2PEs; expires=Sat,12-Dec-2020 16:18:41 GMT; path=/; domain=.google.com; HttpOnly ) 
[Accept-Ranges] => none 
[Vary] => Accept-Encoding )

Тоесть сначала он выдает HTTP/1.0 301, а ниже HTTP/1.0 200 OK. И после этого скрипт выдает, что сайт не рабочий. Почему так и может быть есть способ проверки на работоспособность ссылки другими способами?


Ответы (0 шт):