有没有更快,更有效的方法来检查网站是否显示状态码200等?
基本上,我想检查特定页面是否离线。我检查的某些页面偶尔会出现502错误,因此我需要一种方法来确保这些页面显示为“脱机”,从而使用标题响应检查。
在5-10页上使用以下功能时,会大大减慢页面加载时间。
<?php
function getHttpResponseCode( string $url ) //: int
{
$headers = get_headers( $url );
return substr( $headers[ 0 ], 9, 3 );
}
if (getHttpResponseCode('https://www.google.com') !='200') {
echo 'offline';
} else {
echo 'online';
}
?>
更新的代码
<?php
function checkDomain($host) {
if($socket =@ fsockopen($host, 80, $errno, $errstr, 30)) {
echo 'online!';
fclose($socket);
} else {
echo 'offline.';
}
}
echo checkDomain('https://www.google.com');
?>
使用以下命令可以大大提高速度: