会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
fung的天空
记录IT技术探索的点滴
博客园
首页
博问
闪存
新随笔
订阅
管理
C#查询Whois代码
using
System;
using
System.Data;
using
System.Configuration;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Net;
using
System.Net.Sockets;
using
System.Text;
public
partial
class
_Default : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
protected
void
Button1_Click(
object
sender, EventArgs e)
{
string
_r
=
Whois(TextBox1.Text.Trim());
Response.Write(_r.Replace(
"
\r\n
"
,
"
<br>
"
));
}
/**/
///
<summary>
///
域名注册查询
///
</summary>
///
<param name="domain">
输入域名,不包含www
</param>
///
<returns></returns>
public
static
string
Whois(
string
domain)
{
if
(domain
==
null
)
throw
new
ArgumentNullException();
int
ccStart
=
domain.LastIndexOf(
"
.
"
);
if
(ccStart
<
0
||
ccStart
==
domain.Length)
throw
new
ArgumentException();
string
ret
=
""
;
Socket s
=
null
;
try
{
string
cc
=
domain.Substring(ccStart
+
1
);
s
=
new
Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
s.Connect(
new
IPEndPoint(Dns.Resolve(cc
+
"
.whois-servers.net
"
).AddressList[
0
],
43
));
s.Send(Encoding.ASCII.GetBytes(domain
+
"
\r\n
"
));
byte
[] buffer
=
new
byte
[
1024
];
int
recv
=
s.Receive(buffer);
while
(recv
>
0
)
{
ret
+=
Encoding.ASCII.GetString(buffer,
0
, recv);
recv
=
s.Receive(buffer);
}
s.Shutdown(SocketShutdown.Both);
}
catch
{
throw
new
SocketException();
}
finally
{
if
(s
!=
null
)
s.Close();
}
return
ret;
}
}
posted on
2007-01-17 15:19
fung
阅读(
1478
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部