проверка на 404

RU
На сайте с 08.08.2007
Offline
26
1655

подскажите сервисы для проверки сайтов (чтобы сразу много) на 404 ошибку

Дайте мне денег, чтобы я мог себя уважать
rmikel
На сайте с 25.05.2007
Offline
142
#1
RostikUltra:
подскажите сервисы для проверки сайтов (чтобы сразу много) на 404 ошибку

RostikUltra - http://netpromoter.ru/linkutility/index.htm - это наверное вам подойдёт

- Здесь (http://www.sape.ru/r.fa62530507.php) становятся богатыми буратинами... и здесь (http://www.mainlink.ru/?partnerid=11422) тоже. ;) - "В жизни нет ничего такого, ради чего стоило бы спешить" (c)то-то сказал.
Kolyaj
На сайте с 28.03.2006
Offline
69
#2

Простейший скрипт, ищет в файле urls.txt список урлов и для них выдает табличку с кодами ответов.


<?
set_time_limit(0);

function get_status($url, $referer = "") {
$parsed_url = parse_url($url);

$headers = "GET $url HTTP/1.1\r\n";
$headers .= "HOST: {$parsed_url['host']}\r\n";
$headers .= "User-Agent: Opera/9.01 (Windows NT 5.1; U; ru)\r\n";
$headers .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$headers .= "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$headers .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
$headers .= "Accept-Encoding: gzip\r\n";
if (!empty($referer))
$headers .= "Referer: $referer\r\n";
$headers .= "Connection: close\r\n";

$response_headers = array();
if (!($socket = @fsockopen($parsed_url['host'], (array_key_exists("port", $parsing_url) ? $parsing_url['port'] : 80), $errno, $errstr))) {
return false;
} else {
fputs($socket, $headers . "\r\n");
$status = fgets($socket);
}
preg_match("/ (\d\d\d) /", $status, $matches);
return $matches[1];
}

if (file_exists("urls.txt")) {
$urls = file("urls.txt");
echo "<table border=1 cellspacing=0 cellpadding=0><tr><th>Адрес страницы</th><th>Код ответа</th></tr>";
foreach ($urls as $url) {
echo "<tr><td>$url</td><td align=right>" . get_status(trim($url)) . "</td></tr>";
flush();
}
echo "</table>";
}
?>
Dreammaker
На сайте с 20.04.2006
Offline
570
#3

Подобный скрипт, только пишет урлы в файлы названия которых, берутся и кодов ответов.

Взято с какого-то форума...


<?
error_reporting(0);

set_time_limit(0);

ignore_user_abort(1);


$f = file("url.txt");

foreach($f as $v)
{
$url = trim($v);

$v = str_replace("http://","",$url);

if($p = strpos($v,"/"))
{
$host = substr($v,0,$p);
$uri = substr($v,$p,strlen($v)-$p);
}
else
{
$host = $v;
$uri = "/";
}

if($s = fsockopen($host,"80"))
{
fputs($s,"HEAD $uri HTTP/1.1\r\n");

fputs($s,"HOST: $host\r\n");

fputs($s,"CONNECTION: close\r\n\r\n");

$str = fread($s,12);

fclose($s);


$fn = str_replace("HTTP/1.1 ","",$str);

$file = fopen("$fn.txt","a");

fputs($file,$url."\r\n");

fclose($file);
}

}
?>
I
На сайте с 04.06.2007
Offline
61
#4

Так проще наверное

$f = file("url.txt");


foreach($f as $v)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$v);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
$info=curl_getinfo($ch);
curl_close($ch);
echo $v." - ".$info['http_code'];
}

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