获取HTTP状态响应代码的有效方法

有没有更快,更有效的方法来检查网站是否显示状态码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');
?>
评论
cvitae
cvitae

使用以下命令可以大大提高速度:

$host = 'google.com';
if($socket =@ fsockopen($host, 80, $errno, $errstr, 30)) {
  echo 'online!';
  fclose($socket);
} else {
  echo 'offline.';
}
点赞
评论