Finally, I have time to learn something new. Today, I took a look at the information about ASP+and wrote a page of domain name query. It feels very good. ASP+is compared to
The improvement of ASP is too big. Although ASP+components can also achieve the function of the domain name query, and I used VC to write such a component a few days ago, but I use ASP+simple aspects
There are more. Well, let's talk less nonsense, look at the 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 strongomain = txtDomain.text;
char [] chsplit = {'.'};
string [] arrduin = strdomain.split (chsplit);
int Nlenth = 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 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)
{{
//LTTER 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 DOWHOISLOKUP (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.tocharray ());
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> <br>
<asp: label id = "txtResult" runat = "server" />
</form>
</body>
</html>