static List <string> CheckForAvailableTLDs(DomainSearchParameters parameters) { List <string> ret = new List <string>(); var total = parameters.TLDs.Count; var progress = 0; foreach (var tld in parameters.TLDs) { progress++; try { bool available = Whois.IsAvailable(parameters.Keyword, tld); if (available) { ret.Add(tld); } } catch { Console.WriteLine(); Console.WriteLine("{0} - Error!", tld); } ProgressDisplay.Update(progress, total); } return(ret); }
static void Main(string[] args) { string query; List <string> tlds = Whois.GetAllTLDs(); Console.WriteLine("{0} TLDs loaded.", tlds.Count); Console.WriteLine(); Console.Write("Query> "); while ((query = Console.ReadLine()) != string.Empty) { if (query != null) { DomainSearchParameters parameters = ParseQuery(query, tlds); List <string> availableTLDs = CheckForAvailableTLDs(parameters); Console.WriteLine(); Console.WriteLine(); if (!availableTLDs.Any()) { Console.WriteLine("No domains available."); } else { foreach (var tld in availableTLDs) { Console.WriteLine(tld); } } } Console.WriteLine(); Console.Write("Query> "); } }