用ASP.Net编写的查询域名的程序
2024-07-10 13:07:58
供稿:网友
国内最大的酷站演示中心!
下面是源程序。
<% @ 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
{
string str;
stream s = tcpc.getstream();
s.write(arrdomain, 0, strdomain.length);
streamreader sr = new streamreader(tcpc.getstream(), encoding.default);
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>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<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>