C#域名查询代码
代码
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebStat.WebForm2" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml" >
6 <head runat="server">
7 <title>分享C#域名查询代码</title>
8 </head>
9 <body>
10 <form id="form1" runat="server">
11 <div>
12 www.<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:Button ID="Button1"
13 runat="server" Text="Button" OnClick="Button1_Click" />
14 <br />
15 <div runat="server" id="info"></div>
16 <br />
17 <div runat="server" id="xml"></div>
18 </div>
19 </form>
20 </body>
21 </html>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml" >
6 <head runat="server">
7 <title>分享C#域名查询代码</title>
8 </head>
9 <body>
10 <form id="form1" runat="server">
11 <div>
12 www.<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:Button ID="Button1"
13 runat="server" Text="Button" OnClick="Button1_Click" />
14 <br />
15 <div runat="server" id="info"></div>
16 <br />
17 <div runat="server" id="xml"></div>
18 </div>
19 </form>
20 </body>
21 </html>
代码
1 using System;
2 using System.Data;
3 using System.Configuration;
4 using System.Collections;
5 using System.Web;
6 using System.Web.Security;
7 using System.Web.UI;
8 using System.Web.UI.WebControls;
9 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11 using System.Net.Sockets;
12 using System.Text;
13 using System.Net;
14 using System.IO;
15 using System.Xml;
16
17 namespace WebStat
18 {
19 public partial class WebForm2 : System.Web.UI.Page
20 {
21 /// <summary>
22 ///
23 /// </summary>
24 /// <param name="sender"></param>
25 /// <param name="e"></param>
26 protected void Page_Load(object sender, EventArgs e)
27 {
28 //查获询域名IP
29 string strDomain = "www.dupcit.com";
30 IPHostEntry hostEntry = Dns.Resolve(strDomain);
31 IPEndPoint IPEndPoint = new IPEndPoint(hostEntry.AddressList[0], 0);
32 string ipAddress = IPEndPoint.Address.ToString();
33 Response.Write("IP:"+ipAddress);
34
35 Response.Write(IsReg(strDomain).ToString());
36 //这里注意判断是有有来源页面
37 string refHost = Request.ServerVariables["http_referer"] ;//== null ? "" : HttpContext.Current.Request.UrlReferrer.Host.ToLower(); // HttpContext.Current.Request.UrlReferrer == null ? "" : HttpContext.Current.Request.UrlReferrer.Host.ToLower();
38 xml.InnerHtml = refHost;
39
40 //if (refHost != "" && refHost.IndexOf("dupcit.com") == -1)//如果是你自己的域名不用统计
41
42 //if (refHost.StartsWith("www.")) refHost = refHost.Substring(4);//去掉www.
43 }
44 /// <summary>
45 ///
46 /// </summary>
47 /// <param name="sender"></param>
48 /// <param name="e"></param>
49 protected void Button1_Click(object sender, EventArgs e)
50 {
51 string _r = whois(this.TextBox1.Text.Trim());
52 //Response.Write(_r);//.Replace("\r\n", "<br>")
53 info.InnerHtml = _r.ToString();
54
55 //string name1 = "www.dupcit.com";// HttpContext.Current.Server.UrlEncode(TextBox1.Text.Trim());
56 //WebClient wc = new WebClient();
57 //string xmlstr = wc.DownloadString("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + name1);
58 //xml.InnerHtml = xmlstr;
59 //if (xmlstr.IndexOf("200") > -1)
60 //{
61 // if (xmlstr.IndexOf("210") > -1)
62 // {
63 // xml.InnerHtml += "可以注册";
64 // }
65 // else if (xmlstr.IndexOf("211") > -1)
66 // {
67 // xml.InnerHtml += "已经被注册";
68 // }
69 // else if (xmlstr.IndexOf("212") > -1)
70 // {
71 // xml.InnerHtml += "参数错误";
72 // }
73 // else
74 // {
75 // xml.InnerHtml += "其他错误";
76 // }
77 //}
78 //else
79 //{
80 // xml.InnerHtml += "返回出错!";
81 //}
82
83 }
84 /**/
85 /// <summary>
86 /// 域名注册查询
87 /// </summary>
88 /// <param name="domain">输入域名,不包含www</param>
89 /// <returns></returns>
90 public static string whois(string domain)
91 {
92 if (domain == null)
93 throw new ArgumentNullException();
94 int ccstart = domain.LastIndexOf(".");
95 if (ccstart < 0 || ccstart == domain.Length)
96 throw new ArgumentException();
97 string ret = "";
98 Socket s = null;
99 try
100 {
101 string cc = domain.Substring(ccstart + 1);
102 s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
103 s.Connect(new IPEndPoint(Dns.Resolve(cc + ".whois-servers.net").AddressList[0], 43));
104 s.Send(Encoding.ASCII.GetBytes(domain + "\r\n"));
105 byte[] buffer = new byte[1024];
106 int recv = s.Receive(buffer);
107 while (recv > 0)
108 {
109 ret += Encoding.ASCII.GetString(buffer, 0, recv);
110 recv = s.Receive(buffer);
111 }
112 s.Shutdown(SocketShutdown.Both);
113 }
114 catch
115 {
116 throw new SocketException();
117 }
118 finally
119 {
120 if (s != null)
121 s.Close();
122 }
123 return ret;
124 }
125 /// <summary>
126 ///
127 /// </summary>
128 /// <param name="domainName"></param>
129 /// <returns></returns>
130 public static bool IsReg(string domainName)
131 {
132 bool flag = false;
133 string dm = HttpContext.Current.Server.UrlEncode(domainName);
134 try
135 {
136 //判断方法非常多,如打开远程文件再处理字符串等等,这里用的方法效率不是很高
137 WebClient wc = new WebClient();
138 string xmlstr = wc.DownloadString("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + dm);
139 StringReader sr = new StringReader(xmlstr);
140 XmlTextReader xr = new XmlTextReader(sr);
141 while (xr.Read())
142 {
143 if (xr.IsStartElement("original"))
144 {
145 xr.Read();
146 if (xr.Value.Substring(0, 3) == "210")
147 {
148 flag = true;
149 break;
150 }
151 else
152 {
153 flag = false;
154 break;
155 }
156 }
157 }
158 return flag;
159 }
160 catch
161 {
162 return false;
163 }
164 }
165 }
166 }
167
2 using System.Data;
3 using System.Configuration;
4 using System.Collections;
5 using System.Web;
6 using System.Web.Security;
7 using System.Web.UI;
8 using System.Web.UI.WebControls;
9 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11 using System.Net.Sockets;
12 using System.Text;
13 using System.Net;
14 using System.IO;
15 using System.Xml;
16
17 namespace WebStat
18 {
19 public partial class WebForm2 : System.Web.UI.Page
20 {
21 /// <summary>
22 ///
23 /// </summary>
24 /// <param name="sender"></param>
25 /// <param name="e"></param>
26 protected void Page_Load(object sender, EventArgs e)
27 {
28 //查获询域名IP
29 string strDomain = "www.dupcit.com";
30 IPHostEntry hostEntry = Dns.Resolve(strDomain);
31 IPEndPoint IPEndPoint = new IPEndPoint(hostEntry.AddressList[0], 0);
32 string ipAddress = IPEndPoint.Address.ToString();
33 Response.Write("IP:"+ipAddress);
34
35 Response.Write(IsReg(strDomain).ToString());
36 //这里注意判断是有有来源页面
37 string refHost = Request.ServerVariables["http_referer"] ;//== null ? "" : HttpContext.Current.Request.UrlReferrer.Host.ToLower(); // HttpContext.Current.Request.UrlReferrer == null ? "" : HttpContext.Current.Request.UrlReferrer.Host.ToLower();
38 xml.InnerHtml = refHost;
39
40 //if (refHost != "" && refHost.IndexOf("dupcit.com") == -1)//如果是你自己的域名不用统计
41
42 //if (refHost.StartsWith("www.")) refHost = refHost.Substring(4);//去掉www.
43 }
44 /// <summary>
45 ///
46 /// </summary>
47 /// <param name="sender"></param>
48 /// <param name="e"></param>
49 protected void Button1_Click(object sender, EventArgs e)
50 {
51 string _r = whois(this.TextBox1.Text.Trim());
52 //Response.Write(_r);//.Replace("\r\n", "<br>")
53 info.InnerHtml = _r.ToString();
54
55 //string name1 = "www.dupcit.com";// HttpContext.Current.Server.UrlEncode(TextBox1.Text.Trim());
56 //WebClient wc = new WebClient();
57 //string xmlstr = wc.DownloadString("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + name1);
58 //xml.InnerHtml = xmlstr;
59 //if (xmlstr.IndexOf("200") > -1)
60 //{
61 // if (xmlstr.IndexOf("210") > -1)
62 // {
63 // xml.InnerHtml += "可以注册";
64 // }
65 // else if (xmlstr.IndexOf("211") > -1)
66 // {
67 // xml.InnerHtml += "已经被注册";
68 // }
69 // else if (xmlstr.IndexOf("212") > -1)
70 // {
71 // xml.InnerHtml += "参数错误";
72 // }
73 // else
74 // {
75 // xml.InnerHtml += "其他错误";
76 // }
77 //}
78 //else
79 //{
80 // xml.InnerHtml += "返回出错!";
81 //}
82
83 }
84 /**/
85 /// <summary>
86 /// 域名注册查询
87 /// </summary>
88 /// <param name="domain">输入域名,不包含www</param>
89 /// <returns></returns>
90 public static string whois(string domain)
91 {
92 if (domain == null)
93 throw new ArgumentNullException();
94 int ccstart = domain.LastIndexOf(".");
95 if (ccstart < 0 || ccstart == domain.Length)
96 throw new ArgumentException();
97 string ret = "";
98 Socket s = null;
99 try
100 {
101 string cc = domain.Substring(ccstart + 1);
102 s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
103 s.Connect(new IPEndPoint(Dns.Resolve(cc + ".whois-servers.net").AddressList[0], 43));
104 s.Send(Encoding.ASCII.GetBytes(domain + "\r\n"));
105 byte[] buffer = new byte[1024];
106 int recv = s.Receive(buffer);
107 while (recv > 0)
108 {
109 ret += Encoding.ASCII.GetString(buffer, 0, recv);
110 recv = s.Receive(buffer);
111 }
112 s.Shutdown(SocketShutdown.Both);
113 }
114 catch
115 {
116 throw new SocketException();
117 }
118 finally
119 {
120 if (s != null)
121 s.Close();
122 }
123 return ret;
124 }
125 /// <summary>
126 ///
127 /// </summary>
128 /// <param name="domainName"></param>
129 /// <returns></returns>
130 public static bool IsReg(string domainName)
131 {
132 bool flag = false;
133 string dm = HttpContext.Current.Server.UrlEncode(domainName);
134 try
135 {
136 //判断方法非常多,如打开远程文件再处理字符串等等,这里用的方法效率不是很高
137 WebClient wc = new WebClient();
138 string xmlstr = wc.DownloadString("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + dm);
139 StringReader sr = new StringReader(xmlstr);
140 XmlTextReader xr = new XmlTextReader(sr);
141 while (xr.Read())
142 {
143 if (xr.IsStartElement("original"))
144 {
145 xr.Read();
146 if (xr.Value.Substring(0, 3) == "210")
147 {
148 flag = true;
149 break;
150 }
151 else
152 {
153 flag = false;
154 break;
155 }
156 }
157 }
158 return flag;
159 }
160 catch
161 {
162 return false;
163 }
164 }
165 }
166 }
167
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)