Как «пинговать» доменное имя? - PullRequest
2 голосов
/ 13 мая 2010

В коде я хочу подтвердить доменное имя.

Например: «DomainName.com».

Как я могу это сделать в C #.

Я работал над решением MSDN . (Второе решение).

Но "PingCompletedCallback" не выполняется.

Thanx

Ответы [ 4 ]

2 голосов
/ 13 мая 2010

Использование класса System.Net.NetworkInformation.Ping,

using System.Net.NetworkInformation;

Ping sender = new Ping();
PingReply reply = sender.Send ("www.example.com");

if (reply.Status == IPStatus.Success)
{
  Console.WriteLine("Ping successful.");
}

Это не проверено, но это общая идея.

2 голосов
/ 13 мая 2010

Я не думаю, что пинг доменного имени скажет вам что-нибудь уместное надежным способом.

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

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

Что вы хотите сделать - выяснить, зарегистрирован ли домен, является ли оно действительным именем домена, или это рабочий сайт / почтовый сервер ...?

Для первых двух я бы порекомендовал воспользоваться услугой whois. См., Например, эти вопросы, связанные с C #:

2 голосов
/ 13 мая 2010
1 голос
/ 13 мая 2010

Вы можете использовать класс Ping - вот вся необходимая информация о MSDN

...