用ASP.Net编写的查询域名的程序 

下面是源程序。

1 @ Page Language="C#" 
1 @ Assembly Name="System.Net" 
1 @ Import Namespace="System.Net.Sockets" 
1 @ Import Namespace="System.Text" 
1 @ Import Namespace="System.IO" 
1 @ Import Namespace="System.Collections" 
 1<script language="C#" runat="server">   
 2void doQuery(Object sender, EventArgs e)   
 3{   
 4String strDomain = txtDomain.Text;   
 5char[] chSplit = {'.'};   
 6string[] arrDomain = strDomain.Split(chSplit);   
 7  
 8int nLength = arrDomain[1].Length ;   
 9Hashtable table = new Hashtable();   
10table.Add("de", "whois.denic.de");   
11table.Add("be", "whois.dns.be");   
12table.Add("gov", "whois.nic.gov");   
13table.Add("mil", "whois.nic.mil");   
14  
15String strServer ; //define whois server   
16//if the domainname's end is cn then the server is cnnic ,otherwise is networksolutions   
17if (arrDomain[arrDomain.Length - 1] == "cn")   
18{   
19strServer = "159.226.6.139" ;   
20}   
21else   
22{   
23strServer = "whois.networksolutions.com";   
24}   
25  
26if (table.ContainsKey(arrDomain[1]))   
27{   
28strServer = table[arrDomain[1]].ToString();   
29}   
30else if (nLength == 2)   
31{   
32// 2-letter TLD's always default to RIPE in Europe   
33strServer = "whois.ripe.net";   
34}   
35  
36String strResponse;   
37bool bSuccess = DoWhoisLookup(strDomain, strServer, out strResponse);   
38if (bSuccess)   
39{   
40txtResult.Text = strResponse;   
41}   
42else   
43{   
44txtResult.Text = "Lookup failed";   
45}   
46}   
47  
48bool DoWhoisLookup(String strDomain, String strServer, out String strResponse)   
49{   
50strResponse = "none";   
51bool bSuccess = false;   
52  
53TCPClient tcpc = new TCPClient();   
54if (0 == tcpc.Connect(strServer, 43))   
55{   
56strDomain += "\r\n";   
57Byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain.ToCharArray());   
58try   
59{   
60String str;   
61Stream s = tcpc.GetStream();   
62s.Write(arrDomain, 0, strDomain.Length);   
63  
64StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.Default);   
65StringBuilder strBuilder = new StringBuilder();   
66while (-1 != sr.Peek())   
67{   
68strBuilder.Append(sr.ReadLine()+"<br>");   
69  
70}   
71tcpc.Close();   
72  
73bSuccess = true;   
74strResponse = strBuilder.ToString();   
75}   
76catch(Exception e)   
77{   
78strResponse = e.ToString();   
79}   
80  
81return bSuccess;   
82}   
83else   
84{   
85strResponse = "Could not connect to Whois server";   
86return false;   
87}   
88  
89return false;   
90}   
91</script>
 1<html>
 2<head>
 3<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
 4<title></title>
 5</head>
 6<body>
 7<form runat="server">   
 8Domain name: WWW . <asp:textbox id="txtDomain" runat="server" value=""></asp:textbox>   
 9 <asp:button id="btnQuery" onclick="doQuery" runat="server" text="Query!"></asp:button>
10<br/><hr width="100%"/><br/>
11<asp:label id="txtResult" runat="server"></asp:label>
12</form>
13</body>
14</html>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus