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> |