С нами с 10.03.05
Сообщения: 10
Рейтинг: 1
|
Добавлено: 10/03/05 в 17:40 |
пытаюсь написать чекер, но столкнулся с такой проблеммой:
скрипт иногда просто перестает соеденяться с сервером, и выдает на чистых галерах 302 и 404
подскажите плз, всем проставлю рейтинг
З.Ы. участок кода:
$fp = fsockopen($host, 80, $errno, $errstr, 30);
$zapros = substr_replace($path, "", -2, 2);
fputs($fp, "HEAD $zapros HTTP/1.0\r\n\r\n");
$head = fgets($fp, 1024);
$otvet = explode(" ", $head);
if ($otvet[1] == "200")
{
print ($otvet[1]."===\n");
$to_file = "$gala = $head\n";
$file = fopen("log.txt", 'a+');
fwrite($file, $to_file);
fclose($file);
}
elseif ($otvet[1] == "302")
{
print ($otvet[1]."===\n");
$to_file = "$gala = $head\n";
$file = fopen("log.txt", 'a+');
fwrite($file, $to_file);
fclose($file);
}
elseif ($otvet[1] == "404")
{
print ($otvet[1]."===\n");
$to_file = "$gala = $head\n";
$file = fopen("log.txt", 'a+');
fwrite($file, $to_file);
fclose($file);
}
З.Ы. (код конечно груб но ето вариант для теста, есл кто знает как ето сделать по другому подскажите плз!)
|
|
|
|
С нами с 16.02.05
Сообщения: 123
Рейтинг: 155
|
Добавлено: 10/03/05 в 17:49 |
|
|
|
|
С нами с 10.03.05
Сообщения: 10
Рейтинг: 1
|
Добавлено: 10/03/05 в 17:51 |
с http:// fsockopen работать нехочет =((
|
|
|
|
С нами с 16.02.05
Сообщения: 123
Рейтинг: 155
|
Добавлено: 10/03/05 в 17:53 |
Код: | fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); |
без всяких там http
|
|
|
|
С нами с 10.03.05
Сообщения: 10
Рейтинг: 1
|
Добавлено: 10/03/05 в 17:57 |
я их parse_url'ом режу..
мороки будет с подставлением ввв...
да и нету у некоторых доменов ввв....
вот такая вот засада.....
З.Ы. за ответ сенк =)) заценил
|
|
|
|
С нами с 16.02.05
Сообщения: 123
Рейтинг: 155
|
Добавлено: 10/03/05 в 18:05 |
Holcman писал: | я их parse_url'ом режу..
мороки будет с подставлением ввв...
да и нету у некоторых доменов ввв....
вот такая вот засада..... |
Не, ты не понял. Надо давать или домен или IP без всяких там http:// и т.п.
А parse_url - это правиильно. типа:
Код: | $url="http://www.domain.com/path/to/something";
$url=parse_url($url);
if(empty($url["port"])) $url["port"]=80;
$fp = fsockopen($url["host"], (int)$url["port"], $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "HEAD ".$url["path"]." HTTP/1.0\r\n";
$out .= "Host: ".$url["host"]."\r\n\r\n";
fwrite($fp, $out);
$otvet="";
while (!feof($fp)) {
$otvet.=fgets($fp, 128);
}
fclose($fp);
$t=explode(" ", $otvet);
if($t[1]==200)
......
} |
|
|
|
|
С нами с 10.03.05
Сообщения: 10
Рейтинг: 1
|
Добавлено: 10/03/05 в 18:18 |
спасибо =))
справился через gethostbyname()
ответ проставил =)
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |