Как проверить код отклика сервера?

[Удален]
988

Задался целью проверить код откликов страниц своего сайта. Как это сделать для каждой отдельной страницы (ну и для несуществующих на 404)?

kosenka
На сайте с 02.12.2007
Offline
122
#1
K
На сайте с 12.07.2006
Offline
295
Kpd
#2

function check_code($url) {

$metaUrl = parse_url($url);
if ( !isset($metaUrl['host']) ) {
return -1;
}
$request = $metaUrl['path'];
if ( !$request ) {
$request = '/';
}
if ( isset($metaUrl['query']) ) {
$request .= "?".$metaUrl['query'];
}
if ( isset($metaUrl['fragment']) ) {
$request .= "#".$metaUrl['fragment'];
}
$request = "HEAD ".$request." HTTP/1.0\r\nHost: ".$metaUrl['host']."\r\n\r\n";

if( ($sock=@fsockopen($metaUrl['host'], 80, $errno, $errstr, 30)) ) {
$contents = '';
fputs($sock, $request);
while( ($buf = fgets($sock)) ) {
$contents .= $buf;
}
if ( !$contents || preg_match ("/HTTP\/1\.1 ([4-5]\d{2})/", $contents, $match) ) {
return -1;
}
if (preg_match ("/(\d{3})/", $contents, $match)) {
return $match[1];
}
}
return -1;
}
Rus Ivan
На сайте с 17.05.2007
Offline
241
#3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий