Вы легко можете проверить доступность сайта из командной строки в Linux и получить от сервера код со статусом HTTP, с помощью таких команд как TELNET или CURL.
Проверяем доступность сайта с помощью CURL
Выполните следующую команду для проверки доступности сайта и получения сообщения со статусом от сервера:
$ curl -Is http://www.shellhacks.com | head -1 HTTP/1.1 200 OK
Статус код ‘200 OK’ означает что запрос был успешно выполнен и сайт доступен.
Вот еще один пример, который показывает как curl
отображает разные ответы сервера:
$ curl -Is http://shellhacks.com | head -n 1 HTTP/1.1 301 Moved Permanently
Вы можете заметить, что при переходе по ссылке http://shellhacks.com, Вы будете перенаправлены на http://www.shellhacks.com, потому что я хочу чтобы www
всегда присутствовало в URL моего сайта. Я сделал это путем настройки редиректа (301 Moved Permanently) для всех посетителей заходящих на http://shellhacks.com.
Так же с помощью curl
можно проверить доступность отдельной страницы на сайте, например:
$ curl -Is http://www.shellhacks.com/en/Bash-Colors | head -n 1 HTTP/1.1 200 OK
Читайте: Коды Состояния HTTP
Проверяем доступность сайта с помощью TELNET
Вы так же можете проверить доступность сайта и получить сообщения со статусом от сервера с помощью команды telnet
:
$ telnet www.shellhacks.com 80 Trying 91.206.200.119... Connected to www.shellhacks.com. Escape character is '^]'. HEAD / HTTP/1.0 HOST: www.shellhacks.com <НАЖМИТЕ ENTER> <НАЖМИТЕ ENTER>
Вы получите вывод вроде этого:
HTTP/1.1 200 OK Server: nginx/1.1.10 Date: Sun, 26 May 2013 19:29:46 GMT ***
Который так же означает что с сайтом все ОК.
I don’t have the same results as shown in the tests above. What can be the error or problem ??
А если нужно тоже самое, но у сайта несколько ip, как проверить доступность сайта на каждом из них?
what about persistent test?
watch -n 5 curl -Is -K HEAD http://www.shellhacks.com/en/Bash-Colors | head -n 1