using System; using System.Net; using System.Net.Sockets; using System.Text; using System.IO; using System.Threading; // reads file data: ip_Addr\n etc... namespace ConsoleApplication2 { /// /// Summary description for Class1. /// class Class1 { public void Thread1() { String buf; int i, j; StreamReader srf = new StreamReader(new FileStream("log.txt", FileMode.Open, FileAccess.Read)); //FileStream fs = new FileStream("whois.html", FileMode.Open, FileAccess.Write); StreamWriter sw = new StreamWriter(new FileStream("whois.html", FileMode.Create, FileAccess.Write)); buf = srf.ReadLine(); sw.Write("\r\n\r\nWHOIS List\r\n\r\n
\r\n");

			while(buf.Length > 0)
			{
				TcpClient tcpc = new TcpClient();
				try
				{
					tcpc.Connect("whois.arin.net", 43);
				}
				catch(SocketException ex)
				{
					Console.Write(ex.ToString());
				}

				String strDomain = buf + "\r\n";
				Byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain.ToCharArray());
	  
				Stream s = tcpc.GetStream();
				s.Write(arrDomain, 0, strDomain.Length);

				StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.ASCII);
				string strLine = null;
	
				while (null != (strLine = sr.ReadLine()))
				{
					Console.Write(strLine);
					sw.WriteLine(strLine, 0, strLine.Length);
				}
				sr.Close();
				tcpc.Close();

				sw.Write("\r\n


\r\n"); Console.Write("\n"); Console.Write("***********************************"); Console.Write("\n"); // wait due to server connection limits Thread.Sleep(3000); buf = srf.ReadLine(); } sw.Write("\n
\n\n"); srf.Close(); sw.Close(); } /// /// The main entry point for the application. /// static void Main(string[] args) { Class1 c1 = new Class1(); Thread t1 = new Thread(new ThreadStart(c1.Thread1)); t1.Start(); } } }