Whois на C# .NET

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

Антон
Любопытно - я и не знал, что есть не-http способ проверки whois
Michael
А Whois нормально относится к таким программам? Это лишние запросы в базу…
Глеб
Я далек от кодерства =)))
Мне легче веб интерфейс использовать)
Начинают только php не много изучать)
Алексей(admin)
Michael, думаю нормально. Он же специально открыл это.
Юрий
Классные уроки!) А можешь написать статью как с помощью C# заполнять HTML формы (фреймы и тп.) Возможно ли это с делать с помощью C#?