C#域名查询

queryinternic.aspx

<% @Page Language="C#" %>
<% @Import Namespace="System.Net.Sockets" %>
<% @Import Namespace="System.Text" %>
<% @Import Namespace="System.IO" %>
<%
TcpClient tcpc = new TcpClient();
try
{
tcpc.Connect("whois.networksolutions.com", 43);
}
catch(SocketException ex)
{
Response.Write(ex.ToString());
Response.End();
}

String strDomain = "gotdotnet.com\r\n";
Byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain.ToCharArray());

Stream s = tcpc.GetStream();
s.Write(arrDomain, 0, strDomain.Length);

StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.ASCII);
string strLine = null;

while (null != (strLine = sr.ReadLine()))
{
Response.Write(strLine + "<br>");
}

tcpc.Close();
%>

queryregistries.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.networksolutions.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">
Domain name: <asp:TextBox id="txtDomain" value="aspheute.com" runat="server" />
 <asp:Button id="btnQuery" OnClick="doQuery" text="Query!" runat="server" />
<BR><HR width="100%"><BR>
<asp:label id="txtResult" runat="server" />
</form>

</body>
</html>

时间: 2024-08-07 02:11:15

C#域名查询的相关文章

使用xmlhttp为网站增加域名查询功能

xml 当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这时,可以访问NIC站点http://www.nic.net,点击"whois"链接后输入需查询的域名,就可以得到我们需要的结果. WHOIS服务器为 .com..net 和 .org 的国际顶级域名的查询返回全部的 whois 数据,包括网站域名注册人.管理合约.联系方式(电话.电子邮件.地址).帐单联络.技术支持和域名服务器信息,对于用户

用ASP做一个域名查询系统

查询系统|查询系统 开发这样一个域名查询系统其实是一件很容易的事情,只要我们能够让使用者进行查询后得出结果,看看自己输入的域名是不是被别人占用了就可以,如果没有被占用我们就可以自行去申请了.<%On Error Resume NextServer.ScriptTimeOut=9999999Function getHTTPPage(Path)        t = GetBody(Path)  getHTTPPage=BytesToBstr(t,"GB2312")End funct

域名查询系统--适合新手

查询系统 <%On Error Resume NextServer.ScriptTimeOut=9999999Function getHTTPPage(Path) t = GetBody(Path) getHTTPPage=BytesToBstr(t,"GB2312")End function Function GetBody(url) on error resume next Set Retrieval = CreateObject("Microsoft.XMLHTT

asp+初体验---用c#写的asp+域名查询程序

asp+|程序 终于有时间可以学点新东西了,今天大略看了一下有关asp+的资料,并且写了个域名查询的页面,感觉很不错,asp+比起asp来进步实在是太大了,尽管用asp+组件也能实现域名查询的功能,并且前几天我用vc写过这么个组件,但用asp+简单方便多了.好了,废话少提,看源码吧. <% @Page Language="C#" %><% @Assembly Name="System.Net" %><% @Import Namespac

域名查询代码公布

域名查询代码公布      <?php   // 网络技术主管座右铭:三人行,其必有我师焉.http://www.ctohome.com   // 这个代码可以是说是非常的SMART,我改动了小小部分使它更容易用.     $moreinfolist = array( // 储存WHOIS查询主机的连接方法   'at' => 'www.ripe.net/cgi-bin/whois?query=',   'au' => 'www.aunic.net/cgi-bin/whois.aunic

使用XMLHTTP制作域名查询系统

<%On Error Resume NextServer.ScriptTimeOut=9999999Function getHTTPPage(Path)        t = GetBody(Path)  getHTTPPage=BytesToBstr(t,"GB2312")End function Function GetBody(url)         on error resume next        Set Retrieval = CreateObject(&quo

无数据库的详细域名查询程序PHP版(4)

文件十一:searchform.tml <FORM METHOD="POST" ACTION="[>SCRIPT_NAME<]"> <INPUT NAME="domain" SIZE=25 MAXLENGTH=57></td><td valign=top> [>EXT_HTML_LIST<] </td></tr><tr><td val

无数据库的详细域名查询程序PHP版(3)

文件七:globres.tml <FONT FACE="Verdana,Arial,Geneva" SIZE="2">下面结果来自本站提供的域名查询系统, 你可以订购没有注册的域名或者查询已注册域名的详细信息.<A HREF="[>SCRIPT_NAME<]?do_global=1">单击这里</A> 返回域名查询首页<P> <center> <table border

无数据库的详细域名查询程序PHP版(2)

文件二:error.tml <b>你查询的域名 [>DOMAIN<].[>EXT<] 产生了如下的错误:</b><br> <B>[>ERROR_MSG<]</B><br clear=all> <br clear=all> <b>查询规则:</b> <UL> <LI><b>首先你要输入查询的域名名称及域名后缀.</b>

无数据库的详细域名查询程序PHP版(1)

无数据库的详细域名查询程序PHP版(1) [ 繁體中文 ] | 文章类别:PHP实例 | 文章等级: | 发表日期:2001-5-30  星期三 [ 计数器 | 精彩博客 | 魔法表情 | 博客申请 | 源码下载 | IP查询 | Html2Js ] 转自:动态网制作指南 www.knowsky.com文件一:index.php <?php echo "<!-- Powered by MWhois written by Matt Wilson <matt@mattsscript