zoukankan      html  css  js  c++  java
  • 域名查询功能

     关键代码:

    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.";
            }

        }

    查询按钮事件:

    protected void btnImgCX_Click(object sender, ImageClickEventArgs e)
        {
            string domain = tbxDomain.Value.ToString().Trim();
            StringBuilder sbext = new StringBuilder();

            string result = null, AllDomain = null;
            sbext.Append("<table class='tr' border='0' width='80%' style='border:1px solid red'><tr><td>域名</td><td>查询结果</td></tr>");
            foreach (ListItem item in CheckBoxList1.Items)
            {
                if (item.Selected)
                {
                    AllDomain = domain + item.Value;
                    result = Lookup(AllDomain).Replace('\n', ' ').Trim().Substring(0, 6);
                    sbext.Append("<tr><td>"+AllDomain+"</td>");
                    if (result.CompareTo("Domain") == 0)
                    {
                        //相等-已注册
                        sbext.Append("<td>已注册</td></tr>");
                    }
                    else
                    {
                        sbext.Append("<td>可以注册</td></tr>");
                    }
                   // sbext.Append("<br/>");
                }
            }
                  //string domainExt = cblDomainExt.SelectedItem.Text.ToString();
            sbext.Append("</table>");
            Session["rt"] = sbext.ToString();
            Response.Redirect("YuMingResult.aspx");
        }

    页面部分代码:

     <div style="float:left">
          <asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatDirection="Horizontal">
          <asp:ListItem Value=".com">.com</asp:ListItem>
          <asp:ListItem Value=".cn">.cn</asp:ListItem>
          <asp:ListItem Value=".net">.net</asp:ListItem>
          </asp:CheckBoxList>
     </div>

    多思考,多创新,才是正道!
  • 相关阅读:
    Hui之组件大全
    程序员交流学习平台
    PHP 常用框架
    常用浏览器
    设计必备工具、平台
    文档必备工具
    开发必备工具
    工作必备工具
    源码托管平台、软件
    前端常用框架
  • 原文地址:https://www.cnblogs.com/shuang121/p/1974808.html
Copyright © 2011-2022 走看看