C # written by asp + domain name query process

Author:Anonymous    Updated:2008-10-26 21:14:48
Finally have time to learn new things, look at today's general information about asp +, and wrote a page of the domain name queries, feel good, asp + compared with the
   asp to progress is too high, despite the use asp + components can achieve the functions of the domain name query, and a few days ago I wrote such a vc component, but simple to use asp +
   Will be more. Well, little mention nonsense, you look at source code.
   
   <% @ Page Language = "C #"%>
   <% @ Assembly Name = "System.Net"%>
   <% @ Import Namespace = "System.Net.Sockets"%>
   <% @ Import Namespace = "System.Text"%>
   <% @ Import Namespace = "System.IO"%>
   <% @ Import Namespace = "System.Collections"%>
   <script language="C#" runat="server">
   void doQuery (Object sender, EventArgs e)
   (
   String strDomain = txtDomain.Text;
   char [] chSplit = {'.'};
   string [] arrDomain = strDomain.Split (chSplit);
   
   int nLength = arrDomain [1]. Length;
   Hashtable table = new Hashtable ();
   table.Add ( "de", "whois.denic.de");
   table.Add ( "be", "whois.dns.be");
   table.Add ( "gov", "whois.nic.gov");
   table.Add ( "mil", "whois.nic.mil");
   
   String strServer; / / define whois server
   / / if the domainname's end is cn then the server is cnnic, otherwise is networksolutions
   if (arrDomain [arrDomain.Length - 1] == "cn")
   (
   strServer = "159.226.6.139";
   )
   else
   (
   strServer = "whois.networksolutions.com";
   )
   
   if (table.ContainsKey (arrDomain [1]))
   (
   strServer = table [arrDomain] [1]]. ToString ();
   )
   else if (nLength == 2)
   (
   / / 2-letter TLD's always default to RIPE in Europe
   strServer = "whois.ripe.net";
   )
   
   String strResponse;
   bool bSuccess = DoWhoisLookup (strDomain, strServer, out strResponse);
   if (bSuccess)
   (
   txtResult.Text = strResponse;
   )
   else
   (
   txtResult.Text = "Lookup failed";
   )
   )
   
   bool DoWhoisLookup (String strDomain, String strServer, out String strResponse)
   (
   strResponse = "none";
   bool bSuccess = false;
   
   TCPClient tcpc = new TCPClient ();
   if (0 == tcpc.Connect (strServer, 43))
   (
   strDomain + = "\ r \ n";
   Byte [] arrDomain = Encoding.ASCII.GetBytes (strDomain.ToCharArray ());
   try
   (
   Stream s = tcpc.GetStream ();
   s.Write (arrDomain, 0, strDomain.Length);
   
   StreamReader sr = new StreamReader (tcpc.GetStream (), Encoding.ASCII);
   StringBuilder strBuilder = new StringBuilder ();
   while (-1! = sr.Peek ())
   (
   strBuilder.Append (sr.ReadLine ()+"< br> ");
   )
   tcpc.Close ();
   
   bSuccess = true;
   strResponse = strBuilder.ToString ();
   )
   catch (Exception e)
   (
   strResponse = e.ToString ();
   )
   
   return bSuccess;
   )
   else
   (
   strResponse = "Could not connect to Whois server";
   return false;
   )
   
   return false;
   )
   </ script>
   <html>
   <head>
   <title> </ title>
   </ head>
   <body>
   
   <form runat="server">
   Domain name: WWW. <asp:TextBox Id="txtDomain" value="" runat="server" />
   <asp:Button id="btnQuery" OnClick="doQuery" text="Query!" runat="server" />
   <BR> <HR Width="100%"> <BR>
   <asp:label id="txtResult" runat="server" />
   </ form>
   
   </ body>
   </ html>
Previous:NO
Next:The Visual C # programming WebXML
User Reviews
Site Search
Recommended article
AD