Проверка доступности доменного имени с нуля, не используя чужой веб-сервис - PullRequest
0 голосов
/ 20 июня 2011

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

Я не хочу полагаться на то, что кто-то еще создал, чтобы узнать, доступно ли доменное имя или нет - по сути, я хочу создать свое собственное.

Итак,

  1. Что происходит за кулисами, когда кто-то запрашивает имя домена, чтобы узнать, существует ли оно?
  2. И можете ли вы указать мне правильное направление, как реализовать это с помощью C #?

Большое спасибо, ребята.

Mike

Ответы [ 2 ]

3 голосов
/ 20 июня 2011

Способ сделать это - попытаться выполнить поиск WHOIS для доменного имени.Раньше все было просто - для каждого суффикса был фиксированный список серверов whois (.com, .net, .uk, .ca и т. Д.), И вы выбирали правильный сервер, telnet на порту 43 и запрашивали информацию о регистрации.,

Однако в реальной жизни все уже не так просто..com имеет несколько серверов Whois, при поиске .com вы получаете подсказку для переадресации, которую необходимо найти и следовать.Ответ от whois-сервера не является фиксированным или стандартизированным форматом, поэтому вам нужно анализировать данные для каждого сервера.Некоторые суффиксы используют rwhois, некоторые позволяют запрашивать только через Интернет.Некоторые домены (я помню, как .cn и .uk) имеют разные whois-серверы для разных типов доменов (например, ac.cn имеет свой собственный whois-сервер, который отличается от .ca-сервера).

больно делать. Этот даст вам отправную точку для c #, но он не делает пересылку.Источник jwhois даст вам представление об особых случаях.

1 голос
/ 20 июня 2011

Вам необходимо использовать запрос "whois".

Образцы для C #:

...