求域名查询源码(asp.net(c#))急,强大点,最好是多域名...........

解决方案 »

  1.   

    http://www.wangchao.net.cn/bbsdetail_41339.html
    http://dev.rdxx.com/NET/CSharp/2002-8/23/083453805.shtml
    http://www.sudu.cn/info/html/edu/net/20071227/50614.html
    http://dev.21tx.com/2004/09/04/10372.html
      

  2.   

    用C#做域名查询,你需要使用的是System.Net.Dns的GetHostByName()方法,可以参照下面的代码:   
      在这段代码中,程序查询以TextBox1内容为域名得主机是否存在,存在的话在TextBox2中显示该主机ip,否则在TextBox2中显示"Unkown   Hostname"   
        
      System.Net.IPHostEntry   hostip;   
      System.Net.IPAddress   hostaddr;   
      try     
      {   
      hostip=System.Net.Dns.GetHostByName(textBox1.Text);   
      hostaddr=hostip.AddressList[0];   
      textBox2.Text=hostaddr.ToString();   
      }   
      catch   (System.Exception   excp)   
      {   
      textBox2.Text="Unknown   Hostname";   
      }   
        
      详细信息,清查阅MSDN中的文章:   
        
      http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemNetDnsClassTopic.asp   
      

  3.   

    public   string   Lookup(string   strDomain)   
      {   
      try   
      {   
      string   result="";   
      string   server="whois.internic.net";   
      string   ext=".com";   
      int   port=43;   
      int   address=-1;   
      string   domain=strDomain.Trim().ToLower();   
        
      if(domain.StartsWith("www."))   
      {   
      domain=domain.Substring(4,domain.Length-4);   
      }   
        
      if(domain==""   ||   domain.IndexOf(",")!=-1||   domain.IndexOf(";")!=-1||   domain.IndexOf("_")!=-1||   domain.IndexOf(".")==-1)   
      {   
      result="Please   enter   a   valid   domain   name.";   
      }   
      else   
      {   
      address=domain.IndexOf(".");   
      ext=domain.Substring(address);   
        
      switch   (ext)   
      {   
      case   ".com":   
      case   ".net":   
      case   ".org":   
      default:   
      server="whois.crsnic.net";   
      //server="whois.internic.net";   
      break;   
      case   ".biz":   
      case   ".info":   
      case   ".mil":   
      server="whois.networksolutions.com";   
      break;   
      case   ".edu":   
      server="whois.educause.net";   
      break;   
      case   ".cn":   
      case   ".com.cn":   
      case   ".net.cn":   
      case   ".org.cn":   
      //case   ".gov.cn":   
        
      case   ".bj.cn":   
      case   ".sh.cn":   
      case   ".tj.cn":   
      case   ".cq.cn":   
      case   ".he.cn":   
      case   ".nm.cn":   
      case   ".ln.cn":   
      case   ".jl.cn":   
      case   ".hl.cn":   
      case   ".js.cn":   
      case   ".zj.cn":   
      case   ".ah.cn":   
      case   ".hb.cn":   
      case   ".hn.cn":   
      case   ".gd.cn":   
      case   ".gx.cn":   
      case   ".hi.cn":   
      case   ".sc.cn":   
      case   ".gz.cn":   
      case   ".yn.cn":   
      case   ".xz.cn":   
      case   ".sn.cn":   
      case   ".gs.cn":   
      case   ".qh.cn":   
      case   ".nx.cn":   
      case   ".xj.cn":   
      case   ".tw.cn":   
      case   ".hk.cn":   
      case   ".mo.cn":   
      server="whois.cnnic.net.cn";   
      break;   
      }   
        
      //starting   lookup   
      UTF8Encoding   utf8   =   new   UTF8Encoding();   
      //   Connect   to   the   whois   server   
      TcpClient   tcpClient   =   new   TcpClient();   
      tcpClient.Connect(server,port);   
      NetworkStream   networkStream     =   tcpClient.GetStream();   
      //   Send   the   domain   name   to   the   whois   server   
        
      domain=domain.Replace("0x00","");   
      byte[]   buffer=Encoding.GetEncoding("GB2312").GetBytes(domain   +   "\r\n");   
      //byte[]   buffer   =   utf8.GetBytes(domain   +   "\r\n");   
      networkStream.Write(buffer,0,buffer.Length);   
      //   Read   back   the   results   
      buffer   =   new   byte[10240];   
        
      int   i   =   networkStream.Read(buffer,0,buffer.Length);   
      while   (   i   >   0)   
      {   
      i   =   networkStream.Read(buffer,0,buffer.Length);   
      result   +=   utf8.GetString(buffer);   
      //result   +=Encoding.GetEncoding("GB2312").GetString(buffer);   
      }   
      networkStream.Close();   
      tcpClient.Close();   
      }   
      //return   the   lookup   resutlt   
      result=result.Replace("\u0000","");   
      return   result;         
      }   
        
      catch(Exception   e)   
      {   
      return   e.Message;   
      //return   "Sorry.Lookup   is   false.Please   check   the   format   of   domain   or   internet   connection.";   
      }   
        
        
      }
      

  4.   

    ///   <summary>   
      ///   GET方式发送请求   
      ///   </summary>   
      ///   <param   name="requestUrl">请求地址</param>   
      ///   <returns>响应字符串</returns>   
      public   string   SendRequest(   string   requestUrl   )   
      {   
      HttpWebRequest   httpWebRequest   =   (   HttpWebRequest   )   WebRequest.Create(   requestUrl   );   
      httpWebRequest.Method   =   "GET";   
      WebResponse   webResponse   =   httpWebRequest.GetResponse();   
      StreamReader   responseStream   =   new   StreamReader(   webResponse.GetResponseStream(),   System.Text.Encoding.UTF8   );   
      _responseStr   =   responseStream.ReadToEnd();   
      webResponse.Close();     
      responseStream.Close();   
      return   _responseStr;   
      }