Whois на C# .NET whois.internic.net | Блог программиста C# .Net, C++

whois-9439538

Недавно потребовалось написать программу которая проверяла домены в зонах .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.

unknown-8768679  WhoisClass (2.5 Кб, 729 скачиваний)

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

google_bmarks-4689334 bobrdobr-9274499 delicious-7410470 technorati-5088560 linkstore-8711349 news2-ru-4626779 rumark-5425900 memori-3833218 moemesto-7637854 Случайные посты:

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.