Не используете OpenDNS?Это легкомысленный ответ, но это недостаток использования OpenDNS.Они никогда не возвращают хост, не найденный необходимым для веб-клиента, чтобы обнаружить 404.
Хотя, если вы получаете ответ от OpenDNS, это означает, что ваш клиент не может найти сервер.404 будет исходить от сервера, как только вы подключитесь к нему, и он не сможет найти запрошенный вами ресурс.
Вам потребуется изменить код, чтобы сначала выполнить поиск DNS - посмотрите System.Net длякласс dnslookup - и возвращает 404, если поиск не удался.
На самом деле сейчас происходит следующее:
- Ваш веб-клиент выполняет поиск DNS по предоставленному имени хоста
- .Сбой поиска DNS
- OpenDNS перехватывает ошибку и возвращает IP-адрес своих серверов
- их серверы, а затем возвращает ответ на поиск вашего исходного имени хоста вместе с кодом продолжения.
Вам необходимо выполнить следующие сценарии
- вы выполняете поиск DNS по имени хоста
- хост не существует, поэтому вы возвращаете 404
или
- вы выполняете поиск DNS по имени хоста
- хост существует, поэтому вы делаете запрос
- хост не может найти запрошенный путь, поэтому возвращается404
- вы возвращаете 404
или
- вы делаете поиск DNS по имени хоста
- хост существует, поэтому вы делаетеrequest
- путь существует, и хосты возвращают запрошенные данные.
- вы возвращаете это своему клиенту