C#查询Whois代码
2007-10-15 15:57 黄明 阅读(360) 评论(0) 收藏 举报 1 using System;
2 using System.Data;
3 using System.Configuration;
4 using System.Web;
5 using System.Web.Security;
6 using System.Web.UI;
7 using System.Web.UI.WebControls;
8 using System.Web.UI.WebControls.WebParts;
9 using System.Web.UI.HtmlControls;
10 using System.Net;
11 using System.Net.Sockets;
12 using System.Text;
13 public partial class _Default : System.Web.UI.Page
14 {
15 protected void Page_Load(object sender, EventArgs e)
16 {
17
18 }
19 protected void Button1_Click(object sender, EventArgs e)
20 {
21 string _r = Whois(TextBox1.Text.Trim());
22
23 Response.Write(_r.Replace("\r\n","<br>"));
24 }
25
26 /**//// <summary>
27 /// 域名注册查询
28 /// </summary>
29 /// <param name="domain">输入域名,不包含www</param>
30 /// <returns></returns>
31 public static string Whois(string domain)
32 {
33 if (domain == null)
34 throw new ArgumentNullException();
35 int ccStart = domain.LastIndexOf(".");
36 if (ccStart < 0 || ccStart == domain.Length)
37 throw new ArgumentException();
38 string ret = "";
39 Socket s = null;
40 try
41 {
42 string cc = domain.Substring(ccStart + 1);
43 s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
44 s.Connect(new IPEndPoint(Dns.Resolve(cc + ".whois-servers.net").AddressList[0], 43));
45 s.Send(Encoding.ASCII.GetBytes(domain + "\r\n"));
46 byte[] buffer = new byte[1024];
47 int recv = s.Receive(buffer);
48 while (recv > 0)
49 {
50 ret += Encoding.ASCII.GetString(buffer, 0, recv);
51 recv = s.Receive(buffer);
52 }
53 s.Shutdown(SocketShutdown.Both);
54 }
55 catch
56 {
57 throw new SocketException();
58 }
59 finally
60 {
61 if (s != null)
62 s.Close();
63 }
64 return ret;
65 }
66 }
2 using System.Data;
3 using System.Configuration;
4 using System.Web;
5 using System.Web.Security;
6 using System.Web.UI;
7 using System.Web.UI.WebControls;
8 using System.Web.UI.WebControls.WebParts;
9 using System.Web.UI.HtmlControls;
10 using System.Net;
11 using System.Net.Sockets;
12 using System.Text;
13 public partial class _Default : System.Web.UI.Page
14 {
15 protected void Page_Load(object sender, EventArgs e)
16 {
17
18 }
19 protected void Button1_Click(object sender, EventArgs e)
20 {
21 string _r = Whois(TextBox1.Text.Trim());
22
23 Response.Write(_r.Replace("\r\n","<br>"));
24 }
25
26 /**//// <summary>
27 /// 域名注册查询
28 /// </summary>
29 /// <param name="domain">输入域名,不包含www</param>
30 /// <returns></returns>
31 public static string Whois(string domain)
32 {
33 if (domain == null)
34 throw new ArgumentNullException();
35 int ccStart = domain.LastIndexOf(".");
36 if (ccStart < 0 || ccStart == domain.Length)
37 throw new ArgumentException();
38 string ret = "";
39 Socket s = null;
40 try
41 {
42 string cc = domain.Substring(ccStart + 1);
43 s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
44 s.Connect(new IPEndPoint(Dns.Resolve(cc + ".whois-servers.net").AddressList[0], 43));
45 s.Send(Encoding.ASCII.GetBytes(domain + "\r\n"));
46 byte[] buffer = new byte[1024];
47 int recv = s.Receive(buffer);
48 while (recv > 0)
49 {
50 ret += Encoding.ASCII.GetString(buffer, 0, recv);
51 recv = s.Receive(buffer);
52 }
53 s.Shutdown(SocketShutdown.Both);
54 }
55 catch
56 {
57 throw new SocketException();
58 }
59 finally
60 {
61 if (s != null)
62 s.Close();
63 }
64 return ret;
65 }
66 }
浙公网安备 33010602011771号