Как я могу смоделировать сайт «вниз»? - PullRequest
5 голосов
/ 01 апреля 2011

Я пишу некоторый отказоустойчивый код, чтобы, если мое настольное приложение не могло подключиться к своему веб-сайту, оно могло вместо этого попробовать создать резервную копию веб-сайта.

Однако я не могу понять, как смоделировать тест, если веб-сайт «выключен» или нет. Если я попытаюсь указать некорректно неверный URL-адрес, такой как "http://www.mybadsite.badTLD", мой провайдер отправит меня на страницу перехвата по умолчанию.

Принимая во внимание, что когда сайт действительно не работает и вы не можете подключиться к нему, вы получаете сообщение браузера, в котором говорится, что он не может подключиться. Это то, что мне нужно подражать.

Спасибо

Ответы [ 4 ]

7 голосов
/ 01 апреля 2011

Отредактируйте файл hosts , чтобы переопределить хост, к которому вы пытаетесь подключиться. Вы можете сделать 127.0.0.2 (или что-нибудь недоступное).

Вы также можете выполнить тест с 0.0.0.0 - который возвращает другую ошибку (Неверный IP). Для этого тоже может быть полезна проверка.

Ваш провайдер перенаправляет при сбое поиска DNS, но все, что разрешено вашими хост-файлами, приводит к короткому замыканию.

4 голосов
/ 12 февраля 2017

Чтобы проверить, как ваши скрипты обрабатывают разные ответы, я бы предпочел использовать специальный сервер, который генерирует разные HTTP-коды.Одним из них является httpstat.us

В вашем случае правильный код состояния http - 503 (служба недоступна).

Код состояния 503 указывает, что сервер в настоящее время не может обработать запрос из-за временной перегрузки или планового обслуживания

, которое, вероятно, будет облегчено после некоторой задержки.

Для получения дополнительной информации о кодах состояния http я предлагаю прочитать Эта документация IETS

2 голосов
/ 01 апреля 2011
http://localhost

Если у вас нет локально запущенного сервера ...

1 голос
/ 01 апреля 2011

Если у вас есть сервер, на котором работает PHP, вы можете использовать функцию header () для отправки заголовков для кодов ошибок HTTP обратно в ваше приложение. header("HTTP/1.0 404: Not Found", true, 404); или же header("HTTP/1.0 403: Forbidden", true, 403); или же header("HTTP/1.0 500: Internal Server Error", true, 500);

Вот несколько примеров. Многие серверные языки имеют методы для передачи заголовков в браузер. Проверьте это для получения дополнительных кодов ошибок:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...