Available Domains Finder
February 23rd, 2008 | by programming |Tired of looking for unregistered domain name? Use this generator written in C# to find available domains, ready to register:
using System; using System.Text; using System.Net; class Domains { static Random r = new Random(); static void Main() { //Config const int NR_OF_DOMAINS = 10; // Number of domains to generate const int LENGTH_OF_DOMAINS = 4; const bool UPPERCASE = false; string[] extensions = new string[] {“com”, “net”, “org”}; Console.WriteLine(“Checking {0} domains: \n”, (NR_OF_DOMAINS * extensions.Length)); int domainCount = 0; for (int i = 1; i <= NR_OF_DOMAINS; i++) { string domain = CreateDomain(LENGTH_OF_DOMAINS, UPPERCASE); foreach (string extension in extensions) { Console.Write(domain + “.” + extension); if (CheckDomain(domain + “.” + extension)) { Console.WriteLine(” Is Available.”); domainCount++; } else { Console.WriteLine(); } } } if (domainCount != 0) Console.WriteLine(“\n{0} available domains found.”, domainCount); else Console.WriteLine(“No domains found.”); Console.Read(); } static bool CheckDomain(string domain) { string[] whoisWebsites = new string[]{“http://registrar.verisign-grs.com/cgi-bin/whois?whois_nic=”}; WebClient reader = new WebClient(); string url = whoisWebsites[rand.Next(0, whoisWebsites.Length - 1)] + domain; byte[] reqHTML; reqHTML = reader.DownloadData(url); UTF8Encoding objUTF8 = new UTF8Encoding(); string contents = objUTF8.GetString(reqHTML); if (contents.IndexOf(“No match”) == -1 && contents.IndexOf(“Not Found”) == -1) { return false; } else { return true; } } static string CreateDomain(int length, bool uppercase) { string domain = null; for (int i = 1; i <= length; i++) { char letter = (char)r.Next(97, 123); domain += letter.ToString(); } if (uppercase) domain = domain.ToUpper(); return domain; } }