asp.net怎么弄域名查询的功能,哪里有接口,或者谁有资料,发个看看,先谢谢!

解决方案 »

  1.   

    /// 
    /// 从“中国万网(www.net.cn)”实现域名查询功能 
    /// 
    /// 域名/// 后缀(cn|com|net|name|org|comcn|netcn|orgcn|govcn|info|biz|tv|cc)/// 以上依次代表:.cn|.com|.net|.name|.org|.com.cn|.net.cn|.org.cn|.gov.cn|.info|.biz|.tv|.cc 
    /// 
    public static string Whois( string Domain, string Ext ) 

    #region 这部分可能会变化,取决于“中国万网”是否改变查询方式和显示查询结果的那个网页的内容 
    const string cntURLB = "http://panda.www.net.cn/cgi-bin/Check.cgi?domain=";//http请求头部 
    const string cntURLM = "&ext="; //http请求中间部分(变量) 
    const string cntMark = ""; //需要的"中国万网"返回信息的开始特征 
    const string cntTableB = ""; //"中国万网"返回信息中的一个table的开始部分的特征 //已知"中国万网"查询结果的三种情况的特征 
    const string cntQn = "此域名不能注册"; 
    const string cntReg = "已被注册的域名"; 
    const string cntNotReg = "未被注册的域名"; 
    #endregion #region 这个部分选用 
    //以下用来替换"中国万网"返回信息中table的样式 
    const string cntTableR = ""; 
    const string cntTableE = ""; 
    const string cntTable = ""; //自定义查询结果,用于页面显示 
    const string cntAble = "恭喜你,这是一个"; 
    const string cntNotConnect = "不能连接到服务器,请重试!"; 
    #endregion string strResult = string.Empty; try 

    #region 这里执行查询 
    //从"中国万网"查询域名 
    string strURL = cntURLB + Domain + cntURLM + Ext; 
    //建立请求 
    WebRequest wRequest = WebRequest.Create( strURL ); 
    // wRequest.Proxy = new WebProxy( "server", 8080 );//视情况设置代理 
    wRequest.Timeout = 30000; 
    WebResponse wResponse = wRequest.GetResponse();//执行请求 
    Stream responseStream = wResponse.GetResponseStream();//读取万网返回结果 
    StreamReader reader = new StreamReader( responseStream, Encoding.Default ); 
    string responseHTML = reader.ReadToEnd();//将所有结果保存到字符串 
    wResponse.Close(); 
    #endregion //取出万网查询结果 
    strResult = responseHTML.Substring( responseHTML.IndexOf( cntMark ), responseHTML.IndexOf( cntTableB ) - responseHTML.IndexOf( cntMark ) ); #region 这个部分选用 
    //根据需要调整结果 
    strResult = cntTable + strResult + cntTableR; 
    if( responseHTML.IndexOf( cntQn ) > -1 ) 

    strResult += cntQn + "!" + cntTableE; 

    else if( responseHTML.IndexOf( cntReg ) > -1 ) 

    strResult += cntReg + "!" + cntTableE; 

    else if( responseHTML.IndexOf( cntNotReg ) > -1 ) 

    strResult += cntAble + cntNotReg + "!" + cntTableE; 

    else 

    strResult = responseHTML; 

    #endregion 

    catch( WebException ) 

    strResult = cntNotConnect + "\n"; 

    catch( UriFormatException err) 

    strResult = err.Message; 
    } return strResult; 

     
      

  2.   

    域名可使用whois服务 
    http://topic.csdn.net/u/20090930/08/1e03dada-861a-4f55-ba80-c48f2e3f0ed2.html
      

  3.   

    <% @Page Language="C#" %>
    <% @Import Namespace="System.Net.Sockets" %>
    <% @Import Namespace="System.Text" %>
    <% @Import Namespace="System.IO" %>
    <html>
    <head>
    <title>.Com/.Net/.Org/.Cn 域名Whois信息查询</title>
    <meta name="keywords" content=".Com,.Net,.Org,.Cn 域名Whois信息查询">
    <meta name="generator" content=".Com/.Net/.Org,.Cn 域名Whois信息查询">
    <meta name="description" content=".Com/.Net/.Org,.Cn 域名Whois信息查询">
    <style>
    <!--
    body,input{
            font-family: Tahoma, Verdana; color: #004080; font-size: 12px         
            }
    a:link,a:visited{ 
            text-decoration: none; color: #004080 
            }
    -->
    </style>
    </head>
    <body>
    <form id="fmQuery" runat="server">
    &nbsp;要查询的域名域名: 
    www.<asp:TextBox id="txtDomain" width="100" value="ASPXBOY.COM" runat="server" />
    &nbsp; <asp:Button id="btnQuery" OnClick="btn_click" 
    text="查询!" runat="server" />(只能查询.Com/.Net/.Org/.Cn 域名Whois的信息)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href ="WhoisCode.htm" title="View the source code here!">源代码在这里</a>
    <BR><HR width="550" height="1" align="left"><BR>
    <asp:label id="lblResult" runat="server" />
    </form>
    </body>
    </html>
    <script language="C#" runat="server">
    void btn_click(Object sender, EventArgs e)
    {
    String strServer;
    String strDomain = txtDomain.Text; 
    String strServerCom = "whois.networksolutions.com"; 
    String strServerCN = "whois.cnnic.net.cn";
    String strResponse;
    string[] arrDomain = strDomain.Split('.');
    if (arrDomain[1].ToUpper()=="CN")
    {
            
            strServer=strServerCN;
    }
    else
    {
            strServer=strServerCom;
    }bool blSuccess = IsWhosisSuccess(strDomain, strServer, out strResponse);
    if (blSuccess)
    {
    lblResult.Text = strResponse;
    }
    else
    {
    lblResult.Text = "查找失败....";
    }
    }
    bool IsWhosisSuccess(String strDomain, String strServer, 
                       out String strResponse)
    {
      strResponse = "none";
      bool blSuccess = false;
      TcpClient tcpc = new TcpClient();
      try
      {
        tcpc.Connect(strServer, 43);
      }
      catch(SocketException ex)
      {
        strResponse = "连接不到该 Whois server,请稍后再试。";
        return false;
      }  strDomain += "\r\n";
      Byte[] arrDomain = Encoding.UTF8.GetBytes(strDomain.ToCharArray());
      try
      {
            Stream s = tcpc.GetStream();
            s.Write(arrDomain, 0, strDomain.Length);
            
            StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.UTF8);
            StringBuilder strBuilder = new StringBuilder();
            string strLine = null;        while (null != (strLine = sr.ReadLine()))
            {
                    strBuilder.Append(strLine+"<br>");
            }
            tcpc.Close();
                    
            blSuccess = true;
            string my="Go to Huobazi's WebSite:<a href=\"http://www.aspxboy.com\" title=\".Net男孩社区\">www.AspxBoy.Com</a><br>";
            strResponse = strBuilder.ToString()+my;  }
      catch(Exception e)
      {
            strResponse = e.ToString();
      }
      
      return blSuccess;
    }
      </script> 
      

  4.   

    问下一楼的 string Ext  这个是什么参数
      

  5.   


    /// <summary>
       /// 从“中国万网(www.net.cn)”实现域名查询功能
       /// </summary>
       /// <param name="Domain">域名</param>
       /// <param name="Ext">后缀(cn|com|net|name|org|comcn|netcn|orgcn|govcn|info|biz|tv|cc)</param>
       /// 以上依次代表:.cn|.com|.net|.name|.org|.com.cn|.net.cn|.org.cn|.gov.cn|.info|.biz|.tv|.cc
       /// <returns></returns>
      

  6.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Domain.aspx.cs" Inherits="GoodWork.Web.SearchTools.Domain" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>.Com/.Net/.Org/.Cn 域名Whois信息查询</title>
    <meta name="keywords" content=".Com,.Net,.Org,.Cn 域名Whois信息查询">
    <meta name="generator" content=".Com/.Net/.Org,.Cn 域名Whois信息查询">
    <meta name="description" content=".Com/.Net/.Org,.Cn 域名Whois信息查询">
    <style>
    <!--
    body,input{
      font-family: Tahoma, Verdana; color: #004080; font-size: 12px   
      }
    a:link,a:visited{  
      text-decoration: none; color: #004080  
      }
    -->
    </style></head>
    <body>
        <form id="fmQuery" runat="server">
        
        &nbsp;要查询的域名域名:  
    www.<asp:TextBox id="txtDomain" width="100" value="ASPXBOY.COM" runat="server" />
    &nbsp; <asp:Button id="btnQuery" OnClick="btn_click" text="查询!" runat="server" />(只能查询.Com/.Net/.Org/.Cn 域名Whois的信息)
    <BR><HR width="550" height="1" align="left"><BR>
    <asp:label id="lblResult" runat="server" />
        </form>
    </body>
    </html>
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;using System.Net.Sockets;
    using System.Text;
    using System.IO;namespace GoodWork.Web.SearchTools
    {
        public partial class Domain : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {        }        protected void btn_click(object sender, EventArgs e)
            {
                String strServer;
                String strDomain = txtDomain.Text;
                String strServerCom = "whois.networksolutions.com";
                String strServerCN = "whois.cnnic.net.cn";
                String strResponse;
                string[] arrDomain = strDomain.Split('.');
                if (arrDomain[1].ToUpper() == "CN")
                {                strServer = strServerCN;
                }
                else
                {
                    strServer = strServerCom;
                }            bool blSuccess = IsWhosisSuccess(strDomain, strServer, out strResponse);
                if (blSuccess)
                {
                    lblResult.Text = strResponse;
                }
                else
                {
                    lblResult.Text = "查找失败....";
                }
            }
            bool IsWhosisSuccess(String strDomain, String strServer,out String strResponse)
            {
                strResponse = "none";
                bool blSuccess = false;
                TcpClient tcpc = new TcpClient();
                try
                {
                    tcpc.Connect(strServer, 43);
                }
                catch (SocketException ex)
                {
                    strResponse = "连接不到该 Whois server,请稍后再试。";
                    return false;
                }            strDomain += "\r\n";
                Byte[] arrDomain = Encoding.UTF8.GetBytes(strDomain.ToCharArray());
                try
                {
                    Stream s = tcpc.GetStream();
                    s.Write(arrDomain, 0, strDomain.Length);                StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.UTF8);
                    StringBuilder strBuilder = new StringBuilder();
                    string strLine = null;                while (null != (strLine = sr.ReadLine()))
                    {
                        strBuilder.Append(strLine + "<br>");
                    }
                    tcpc.Close();                blSuccess = true;
                    string my = "Go to Huobazi's WebSite:<a href=\"http://www.aspxboy.com\" title=\".Net男孩社区\">www.AspxBoy.Com</a><br>";
                    strResponse = strBuilder.ToString() + my;
                }
                catch (Exception e)
                {
                    strResponse = e.ToString();
                }            return blSuccess;
            }    }
    }