Whois на C# .NET

Опубликовано 10 мая, 2010 в разделе Примеры на C#. Разместил Алексей(admin).

whois на C#

Недавно потребовалось написать программу которая проверяла домены в зонах .com, .net, .org на занятость. Что бы это узнать, нужно произвести Whois запрос, который и расскажет нам о регистрационных данных владельца доменна и ещё некую информацию. Соответственно если записи не будет найдено, то значит домен свободен. Сначало я начал посылать запросы и парсить ответы от HTTP ресурсов, таких как nic.ru/whois/, но понимал, что есть способ другой. И правда он есть. Можно отсылать Tcp запросы напрямую на whois сервер. Для доменов .com, .net, .org я выбрал internic.net сервер. Вот небольшой пример работы:

            string txtResponse = "";
            string strResponse = "";
 
            TcpClient tcpWhois = new TcpClient("whois.internic.net", 43);
            NetworkStream nsWhois = tcpWhois.GetStream();
            BufferedStream bfWhois = new BufferedStream(nsWhois);
 
            StreamWriter swSend = new StreamWriter(bfWhois);
                         swSend.WriteLine("google.com");
                         swSend.Flush();
 
            StreamReader srReceive = new StreamReader(bfWhois);
 
            while ((strResponse = srReceive.ReadLine()) != null)
            {
                txtResponse += strResponse + "\r\n";
            }
 
            tcpWhois.Close();
 
            Console.WriteLine(txtResponse);

К посту прикрепил класс, который парсет ответ и пишет, свободен ли домен или занят. Класс и пример переделал из примера на geekpedia.com.

  WhoisClass (2.5 Кб, 85 скачиваний)

Спонсор поста: Лучшие игрушки лего по низким ценам.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
Случайные посты:

5 комментария для 'Whois на C# .NET'

  1. 15 июня 2010 в 17:20
    Антон
  2. 23 июня 2010 в 11:45
    Michael
  3. 25 июня 2010 в 2:21
    Глеб
  4. 26 июня 2010 в 19:04
    Алексей(admin)
  5. 29 июня 2010 в 12:52
    Юрий

Оставьте комментарий