Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как проверить доступность сайта
Форумы портала PHP.SU » » HTTP и PHP » Как проверить доступность сайта

Страниц (1): [1]
 

1. seeto - 15 Июля, 2011 - 16:08:34 - перейти к сообщению
Доброго времени суток ...

Скажите пожалуйста каким методом узнать код состояния HTTP ...

для примера:
http://komfortklimat[dot]com/ - сайт не рабочий идёт переадресовка на хостера

get_headers говорит доступно - 200 ОК

CURLOPT_HEADER - 200 ОК -
с параметром:
CURLOPT_FOLLOWLOCATION, false - 200 ОК
2. Мелкий - 15 Июля, 2011 - 16:14:30 - перейти к сообщению
seeto пишет:
идёт переадресовка на хостера

Где? Нет никакой переадресовки.
Ответ идёт сразу, без редиректа.
3. DeepVarvar - 15 Июля, 2011 - 16:15:39 - перейти к сообщению
~$ ping comfortklimat.com -c 5
ping: unknown host comfortklimat.com
4. Мелкий - 15 Июля, 2011 - 16:17:08 - перейти к сообщению
DeepVarvar, у тебя DNS врёт.
CODE (text):
скопировать код в буфер обмена
  1. ping komfortklimat.com
  2. PING komfortklimat.com (194.226.158.1) 56(84) bytes of data.
  3. 64 bytes from pinchy1.ur.ru (194.226.158.1): icmp_req=1 ttl=54 time=127 ms
  4. 64 bytes from pinchy1.ur.ru (194.226.158.1): icmp_req=2 ttl=54 time=125 ms
  5. 64 bytes from pinchy1.ur.ru (194.226.158.1): icmp_req=3 ttl=54 time=125 ms
  6. 64 bytes from pinchy1.ur.ru (194.226.158.1): icmp_req=4 ttl=54 time=128 ms
  7. ^C
  8. --- komfortklimat.com ping statistics ---
  9. 4 packets transmitted, 4 received, 0% packet loss, time 3004ms
  10. rtt min/avg/max/mdev = 125.476/126.646/128.246/1.184 ms
  11.  
5. DeepVarvar - 15 Июля, 2011 - 16:23:03 - перейти к сообщению
Мелкий значит врет на этот "климат" (проверил на парочке других)...
(Добавление)
а - я "с" вместо "k" написал
(Добавление)
Может перехватить в заголовке Content-Length?
И если мало - значит сайта нет.
вот сходил сейчас на 404 с оформлением - там 2821 байт
6. seeto - 15 Июля, 2011 - 16:43:20 - перейти к сообщению
Мелкий - а как собственно узнать, перенаправляет или нет ...
и что в итоге лучше использовать для определения доступности сайта ...

get_headers ... cURL ... или может быть ещё что-нибудь ... системную функцию telnet ...
7. seeto - 16 Июля, 2011 - 16:49:44 - перейти к сообщению
Вопрос остаётся открытым ...

что лучше использовать для определения доступности сайта ...
get_headers ... cURL ... или может быть что-нибудь ещё ... системную функцию telnet ...

вот этот сайт я так понимаю перенаправляет ... http://www[dot]ovk-ural[dot]ru

как получить информацию о том что ссылка не рабочая или с перенаправлением ... ?
8. Мелкий - 16 Июля, 2011 - 17:18:12 - перейти к сообщению
seeto пишет:
а как собственно узнать, перенаправляет или нет ...

Смотреть код состояния. Редиректы - 301, 302 состояния.
Сам код состояния - от telnet'a до firebug'a, что больше нравится. Сам telnet, сокеты, потоки (библиотека stream), cURL с return_header, get_headers, opera dragonfly, firebug, и прочее, прочее.

seeto пишет:
вот этот сайт я так понимаю перенаправляет ... http://www.ovk-ural.ru

Ага, 301 редирект.

seeto пишет:
и что в итоге лучше использовать для определения доступности сайта

Смотря что считать доступностью сайта.
жив хост - пинг
открыт 80 порт - fsockopen
что-то отвечают - те же сокеты, курлы и компания
отвечают что-то правильное - см. выше.
открывается тот же сайт, что и предполагается - ищите в ответе сервера фрагменты данных, которые точно должны быть на странице.
9. seeto - 16 Июля, 2011 - 17:27:43 - перейти к сообщению
Мелкий пишет:
Ага, 301 редирект.

вот пробую через telnet

CODE (htmlphp):
скопировать код в буфер обмена
  1. telnet ovk-ural.ru 80
  2.  
  3. GET / HTTP/1.0
  4. Host: ovk-ural.ru


выводит код 200 OK

как получить 301 ...?


get_headers ... тоже 200 OK


такой вот код тоже 200 OK

CODE (htmlphp):
скопировать код в буфер обмена
  1. $url = "http://www.ovk-ural.ru/";
  2.  
  3. $c = curl_init($url);
  4.  
  5. curl_setopt($c, CURLOPT_HEADER, true);
  6. curl_setopt($c, CURLOPT_NOBODY, true);
  7. curl_setopt($c, CURLOPT_FOLLOWLOCATION, false);
  8.  
  9. $string = curl_exec($c);
  10.  
10. Мелкий - 16 Июля, 2011 - 19:14:28 - перейти к сообщению
И правда, не туда глянул, 301 редирект был после переадресации с этого хоста, уже в пределах следующего урла.
А там - <meta http-equiv='refresh' content='0; url=http://www.nar-medicina.ru/'>, целевой URl меняется.

 

Powered by ExBB FM 1.0 RC1