首页 > 编程 > .NET > 正文

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

2024-07-10 13:07:58
字体:
来源:转载
供稿:网友
国内最大的酷站演示中心!
下面是源程序。

<% @ page language="c#" %>
<% @ assembly name="system.net" %>
<% @ 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);

  int nlength = arrdomain[1].length ;
  hashtable table = new hashtable();
  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 ;         //define whois server
  //if the domainname's end is cn then the server is cnnic ,otherwise is networksolutions     
  if (arrdomain[arrdomain.length - 1] == "cn")
    {
      strserver = "159.226.6.139" ;
    }    
  else
    {
      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();
  if (0 == tcpc.connect(strserver, 43))
  {
    strdomain += "/r/n";
    byte[] arrdomain = encoding.ascii.getbytes(strdomain.tochararray());
    try
    {
        string str;
stream s = tcpc.getstream();
        s.write(arrdomain, 0, strdomain.length);
    
        streamreader sr = new streamreader(tcpc.getstream(), encoding.default);
        stringbuilder strbuilder = new stringbuilder();
        while (-1 != sr.peek())
        {
          strbuilder.append(sr.readline()+"<br>");
  
        }
        tcpc.close();
        
        bsuccess = true;
        strresponse = strbuilder.tostring();
    }
    catch(exception e)
    {
        strresponse = e.tostring();
    }
    
    return bsuccess;
  }
  else
  {
    strresponse = "could not connect to whois server";
    return false;
  }

  return false;
}
</script>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>

<form runat="server">
domain name: www . <asp:textbox id="txtdomain" value="" runat="server" />
&nbsp;<asp:button id="btnquery" onclick="doquery" text="query!" runat="server" />
<br><hr width="100%"><br>
<asp:label id="txtresult" runat="server" />
</form>

</body>
</html>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表