C#独立域名查询

王朝mssql·作者佚名  2006-12-17
宽屏版  字体: |||超大  

C#独立域名查询

C#独立域名查询 whois.aspx

<% @Page Language="C#" %>

<% @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);

// es darf genau ein domain name + ein suffix sein

if (arrDomain.Length != 2)

{

return;

}

// das suffic darf nur 2 oder 3 zeichen lang sein

int nLength = arrDomain[1].Length;

if (nLength != 2 && nLength != 3)

{

return;

}

Hashtable table = new Hashtable();

table.Add("at", "whois.nic.at");

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 = "whois.OnlineNIC.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();

try

{

tcpc.Connect(strServer, 43);

}

catch(SocketException ex)

{

strResponse = "Could not connect to Whois server";

return false;

}

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();

string strLine = null;

while (null != (strLine = sr.ReadLine()))

{

strBuilder.Append(strLine+"<br>");

}

tcpc.Close();

bSuccess = true;

strResponse = strBuilder.ToString();

}

catch(Exception e)

{

strResponse = e.ToString();

}

return bSuccess;

}

</script>

<html>

<head>

<title></title>

</head>

<body>

<form runat="server">

域名whois查询(.NET版): <asp:TextBox id="txtDomain" value="3cts.com" runat="server" />

&nbsp;<asp:Button id="btnQuery" OnClick="doQuery" text="Query!" runat="server" />

<BR><HR width="100%"><BR>

<asp:label id="txtResult" runat="server" />

</form>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有