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

本文介绍使用 ASP+ 和 C# 开发的一个简单域名查询程序。该程序通过连接不同的 WHOIS 服务器来获取域名注册信息,支持多种顶级域名查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<a href='http://www.biancheng88.cn/html/2008-11/asp-27054679.html'>asp+初体验---用c#写的asp+域名查询程序</a><br><br>
                      终于有时间可以学点新东西了,今天大略看了一下有关<a href="http://www.biancheng88.cn/html/special/2008-11/ASP/" title="asp" target=_blank><B>asp</B></a>+的资料,并且写了个域名查询的页面,感觉很不错,asp+比<br>
起asp来进步实在是太大了,尽管用asp+组件也能实现域名查询的功能,并且前几天我用vc写过这么个组件,但用<a href="http://www.biancheng88.cn/html/special/2008-11/ASP/" title="asp" target=_blank><B>asp</B></a>+简单<br>
方便多了。好了,废话少提,看源码吧。<br>
<br>
<% @Page Language="C#" %><br>
<% @Assembly Name="System.Net" %><br>
<% @Import Namespace="System.Net.Sockets" %><br>
<% @Import Namespace="System.Text" %><br>
<% @Import Namespace="System.IO" %><br>
<% @Import Namespace="System.Collections" %><br>
<script language="C#" runat="server"><br>
void doQuery(Object sender, EventArgs e)<br>
{<br>
  String strDomain = txtDomain.Text;<br>
  char[] chSplit = {'.'};<br>
  string[] arrDomain = strDomain.Split(chSplit);<br>
<br>
  int nLength = arrDomain[1].Length ;<br>
  Hashtable table = new Hashtable();<br>
  table.Add("de", "whois.denic.de");<br>
  table.Add("be", "whois.dns.be");<br>
  table.Add("gov", "whois.nic.gov");<br>
  table.Add("mil", "whois.nic.mil");<br>
<br>
  String strServer ;         //define whois server<br>
  //if the domainname's end is cn then the server is cnnic ,otherwise is networksolutions     <br>
  if (arrDomain[arrDomain.Length - 1] == "cn")<br>
    {<br>
      strServer = "159.226.6.139" ;<br>
    }    <br>
  else<br>
    {<br>
      strServer = "whois.networksolutions.com";<br>
    }  <br>
    <br>
  if (table.ContainsKey(arrDomain[1]))<br>
  {<br>
    strServer = table[arrDomain][1]].ToString();<br>
  }<br>
  else if (nLength == 2)<br>
  {<br>
    // 2-letter TLD's always default to RIPE in Europe<br>
    strServer = "whois.ripe.net";<br>
  }<br>
  <br>
  String strResponse;<br>
  bool bSuccess = DoWhoisLookup(strDomain, strServer, out strResponse);<br>
  if (bSuccess)<br>
  {<br>
    txtResult.Text = strResponse;<br>
  }<br>
  else<br>
  {<br>
    txtResult.Text = "Lookup failed";<br>
  }<br>
}<br>
<br>
bool DoWhoisLookup(String strDomain, String strServer, out String strResponse)<br>
{<br>
  strResponse = "none";<br>
  bool bSuccess = false;<br>
<br>
  TCPClient tcpc = new TCPClient();<br>
  if (0 == tcpc.Connect(strServer, 43))<br>
  { <br>
    strDomain += "/r/n";<br>
    Byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain.ToCharArray());<br>
    try<br>
    {<br>
        Stream s = tcpc.GetStream();<br>
        s.Write(arrDomain, 0, strDomain.Length);<br>
    <br>
        StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.ASCII);<br>
        StringBuilder strBuilder = new StringBuilder();<br>
        while (-1 != sr.Peek())<br>
        {<br>
          strBuilder.Append(sr.ReadLine()+"<br>");<br>
        }<br>
        tcpc.Close();<br>
        <br>
        bSuccess = true;<br>
        strResponse = strBuilder.ToString();<br>
    }<br>
    catch(Exception e)<br>
    {<br>
        strResponse = e.ToString();<br>
    }<br>
    <br>
    return bSuccess;<br>
  }<br>
  else<br>
  {<br>
    strResponse = "Could not connect to Whois server";<br>
    return false;<br>
  }<br>
<br>
  return false;<br>
}<br>
</script><br>
<html><br>
<head><br>
<title></title><br>
</head><br>
<body><br>
<br>
<form runat="server"><br>
Domain name: WWW . <br>
&nbsp;<br>
<BR><HR width="100%"><BR><br>
<br>
</form><br>
<br>
</body><br>
</html>  <br>

                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值