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 + "
";
            }
 
            tcpWhois.Close();
 
            Console.WriteLine(txtResponse);

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

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

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

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

    You must be logged in to post a comment.