青海網站建設、網絡推廣最好的公司--您身邊的網站建設專家,馬上拿起電話,聯系我們:0971-8235355   
黑龙江11选5预测网 黑龙江11选5预测网 |  公司簡介 |  網站建設 |  網絡推廣 |  空間租用 |  域名注冊 |  企業郵局 |  網絡安全 |  網站編程 |  客服中心 |  聯系我們 |  人才招聘
 
西寧威勢最新網站制做案例展示
Lastest Project
 
西寧網站建設  
當前位置為:黑龙江11选5预测网 >> .NET編程 >> 正文  
[原創] asp.net+c# 寫的域名是否注冊的查詢頁面

文章來源: 黑龙江11选5预测网     發布時間:2010-11-21    瀏覽次數:9919   

    大體思路是網上看來的,網上那篇文章的查詢方法是先建兩個頁面,第一個頁面是查詢的一些CHECKBOX和JS,用來輸入查詢的域名和域名類型,第二個頁面是用來向萬網接口提交的頁面,提交后將查詢結果分析,并返回狀態.其實這樣子就夠用了,但是原作者傳值是用了SESSION的方法進行傳值,而我現在需要將查詢域名做成AJAX的效果,這樣在兩個頁面之間傳送SESSION時會有一點點小麻煩,所以我將代碼改了改,將原來的SESSION傳值改成了javascript 的POST提交方式.這樣以便于我們后面AJAX程序調用.改完后仍然是兩個頁面,直接將改動后的代碼貼出來供大家參考和改進.

    域名查詢頁面DomainCheck.aspx

以下是DomainCheck.aspx的前臺代碼,主要是用JS來判斷域名的一些合法性,然后就是將用戶選擇后的域名和域名后輟組織成URL向另一個查詢頁面DomainPost.aspx提交

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DomainCheck.aspx.cs" Inherits="DomainCheck" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

<html xmlns="<head runat="server">
    <title>域名查詢</title>
    <link href="css/style.css" type="text/css" rel="stylesheet" />
    <script src="js/door.js" type="text/javascript"></script>
    <script type="text/javascript">
   
    //   域名查詢中用到的判斷的JS代碼
    function IsChDomain(domainStr)
  {
      var flag = false;
      var compStr = "ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_0123456789";
      var domainLength = domainStr.length;
      for(var i = 0;i < domainLength;i++)
      {
          var temp = domainStr.charCodeAt(i);
          if(temp >= 10000)//含有字符編碼大于10000的字符判斷為中文,不太嚴格
          {
               flag=true;
          }
          else
          {
              var temp2 = compStr.indexOf(domainStr.charAt(i));
              if(temp2 == -1)
              {
                  flag = false;
                  break;
              }
          }
      }
  return flag;
  }

function IsEnDomain(domainStr)
  {
      var flag = false;
      var compStr = "ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_0123456789";
      var domainLength = domainStr.length;
      for(var i = 0;i<domainLength;i++)
      {
          if(compStr.indexOf(domainStr.charAt(i)) == -1)
          {
              flag = false;
              break;
          }
          else
          {
               flag = true;
          }
      }
  return flag;
  }
  
  function Trim(domainStr)
  {
      return domainStr.replace(/(^s*)|(s*$)/g, "");
  }

  function checkValue()
  {
      if(document.getElementById("txtDomainName").value=='')
      {
          alert('請輸入域名!');
          return false;
      }
      if(document.getElementById("txtDomainName").value.length >= 60)
      {
          alert('域名長度不能超過60個字符!');
          return false;
      }
      for(var i = 0;i < document.getElementById("txtDomainName").value.length;i++)
      {
          if(document.getElementById("txtDomainName").value.charAt(i) == ' ')
          {
              alert('域名中不能含有空格!');
              return false;
              break;
          }
      }
  checkDomainType();
  callServer();
  return true;
  }

  function checkDomainType()
  {
      var domainName = document.getElementById("txtDomainName").value;
      domainName = Trim(domainName);
      if(IsChDomain(domainName))
      {
          setCheckBox(true);
      }
      else if(IsEnDomain(domainName))
      {
          setCheckBox(false);
      }
  }

  function setCheckBox(flag)
  {
      document.getElementById("chkcom").disabled = flag;
      document.getElementById("chknet").disabled = flag;
      document.getElementById("chkcn").disabled = flag;
      document.getElementById("chkbiz").disabled = flag;
      document.getElementById("chktv").disabled = flag;
      document.getElementById("chkcc").disabled = flag;
      document.getElementById("chkorg").disabled = flag;
      document.getElementById("chkorgcn").disabled = flag;
      document.getElementById("chkcomcn").disabled = flag;
      document.getElementById("chknetcn").disabled = flag;
      document.getElementById("chkgovcn").disabled = flag;
      document.getElementById("chkmobi").disabled = flag;
      document.getElementById("chkinfo").disabled = flag;
      document.getElementById("chkcn").disabled = flag;
      document.getElementById("chkchina").disabled = !flag;
      document.getElementById("chkcompany").disabled = !flag;
      document.getElementById("chknetwork").disabled = !flag;
  }

    </script>
   
    <script language="javascript" type="text/javascript">
    var xmlHttp = false;
    try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e2)
            {
                xmlHttp = false;
            }
        }
        if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
    }

    function callServer() {
        var Domain = document.getElementById("txtDomainName").value;
      var DomainTyle="";
      if(document.form1.chkcom.checked==true) DomainTyle+=".com";
      if(document.form1.chknet.checked==true) DomainTyle+=".net";
      if(document.form1.chkcn.checked==true) DomainTyle+=".cn";
      if(document.form1.chkbiz.checked==true) DomainTyle+=".biz";
      if(document.form1.chktv.checked==true) DomainTyle+=".tv";
      if(document.form1.chkcc.checked==true) DomainTyle+=".cc";
      if(document.form1.chkorg.checked==true) DomainTyle+=".org";
      if(document.form1.chkorgcn.checked==true) DomainTyle+=".org.cn";
      if(document.form1.chkcomcn.checked==true) DomainTyle+=".com.cn";
      if(document.form1.chknetcn.checked==true) DomainTyle+=".net.cn";
      if(document.form1.chkgovcn.checked==true) DomainTyle+=".gov.cn";
      if(document.form1.chkmobi.checked==true) DomainTyle+=".mobi";
      if(document.form1.chkinfo.checked==true) DomainTyle+=".info";
      if(document.form1.chkchina.checked==true) DomainTyle+=".中國";
      if(document.form1.chkcompany.checked==true) DomainTyle+=".公司";
      if(document.form1.chknetwork.checked==true) DomainTyle+=".網絡";
        if ((Domain == null) || (Domain == "")||(DomainTyle=="")) return;
       
        var url = "DomainCheck.aspx?Action=Check&Domain="+Domain+"&DomainTyle="+DomainTyle+"";
        //alert(url);
        xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = updatePage;
        xmlHttp.send(null); 
    }

    function updatePage() {
        if (xmlHttp.readyState < 4) {
            test1.innerHTML="loading...";
        }
        if (xmlHttp.readyState == 4) {
            var response = xmlHttp.responseText;
            test1.innerHTML=response;
        }
    }
</script>
</head>
<body>
        <form runat="server" id="form1">
        <table width="220" height="100%" border="0" cellpadding="0" cellspacing="0" background="images/Rabbit_r54_c14.jpg">
          <tr>
            <td height="26">
            <table width="100%" height="25" border="0" align="left" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
                <tr align="center">
                  <td height="25" align="center" class="cz105" id="czl05" style="cursor:pointer;" onMouseOver="csecBoard2(5);">域名查詢</td>
                  <td height="25" align="center" class="cz106" id="czl06" style="cursor:pointer;" onMouseOver="csecBoard2(6);">備案查詢</td>
                  <td height="25" align="right"><a href="domain.aspx">查詢更多>></a></td>
                </tr>
              </table>
              </td>
          </tr>
          <tr>
            <td align="center" valign="top" height="145" style="padding-bottom:2px;">
            <!--域名查詢開始-->
              <div style="display: block; text-align:left;" id="cbxz05">
                <div style="width:100%; background-color:White;background:url(images/yu_r5_c2.jpg) no-repeat left; padding-left:50px; overflow:hidden;">   
                <input id="txtDomainName" runat="server" type="text" onchange="checkDomainType()" class="input3" />&nbsp;&nbsp; <asp:Button
                        ID="Button1" runat="server"  Text="" CssClass="button"  OnClientClick="return checkValue()"  />
                </div>
                <asp:Label ID="lblMsg" runat="server" Text=""></asp:Label>
        <div style="width:228px; background-color:White;">
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkcom" runat="server" Text=".com" /></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chknet" runat="server" Text=".net" /></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkcn" runat="server"  Text=".cn"/></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkcc" runat="server" Text=".cc" /></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chktv" runat="server" Text=".tv" /></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkinfo" runat="server" Text=".info" /></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkorg" runat="server" Text=".org" /></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkorgcn" runat="server" Text=".org.cn" /></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkcomcn" runat="server"  Text=".com.cn"/></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chknetcn" runat="server"  Text=".net.cn"/></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkgovcn" runat="server"  Text=".gov.cn"/> </div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkbiz" runat="server" Text=".biz" /></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkchina" runat="server" Text=".中國" /></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkcompany" runat="server"  Text=".公司"/></div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chknetwork" runat="server" Text=".網絡" /> </div>
            <div style="width:33%; float:left; text-align:left;"><asp:CheckBox ID="chkmobi" runat="server" Text=".mobi" /> </div>
        </div>
              </div>
              <!--域名查詢結束-->
              <div style="display: none; text-align:left;" id="cbxz06">
                <table width="97%" border=0 align="center" cellspacing=0>
                  <tbody>
                    <tr>
                      <td align="left" nowrap>
                      <form id="form3" name="form1" method="post" action="
                        <table width="98%" border="0" cellspacing="0" cellpadding="0">
                          <tr>
                            <td height="10">&nbsp;</td>
                          </tr>
                          <tr>
                            <td height="40" align="left"><span class="b">網站域名:
                              <input name="ym" type="text" class="input1" id="ym" size="23" />
                            </span></td>
                          </tr>
                          <tr>
                            <td height="20" align="left">&nbsp;注:不包含&quot;//&quot;或&quot;www.&quot;</td>
                          </tr>
                          <tr>
                            <td height="40" align="left" style="line-height:30px;"><a href="
                              <input type="submit" name="button" id="button" value="" class="button1" /></td>
                          </tr>
                        </table>
                      </form>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </div>
            </td>
          </tr>
        </table>
        <!----><span id="test1"></span>
        </form>
</body>
</html>

    以上是查詢頁面,下面是它的后臺CS文件

其實什么代碼也沒有寫,因為此頁面主要是用來提交之用,我把后臺幾乎不用寫什么代碼

using System;
using System.Collections;
using System.Web;
using System.Web.UI.WebControls;
using System.Collections.Generic;
using System.Xml;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;

public partial class DomainCheck : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
}

 

 

    OK,我們再來看看查詢頁面,此頁面主要是向萬網的域名查詢接口網址提交查詢內容,將返回結果組織成我們想要的格式來返回.代碼主要如下:

DomainPost.aspx 的前臺代碼

  

嘿嘿,其實什么代碼都沒有寫,主要功能全是后臺CS代碼中完成的,前臺只是顯示作用

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DomainPost.aspx.cs" Inherits="DomainPost" %>

再看看它的后臺代碼

以下代碼主要是用來完成遠程提交的,

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Net;
using System.Collections.Generic;
using System.Xml;
using System.IO;

public partial class DomainPost : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        IList<string> domainList = new List<string>();//保存域名名稱和后綴
        if ((Request["Action"] == "Check") && (Request["Domain"] != "") && (Request["DomainTyle"] != ""))
        {
            string domainName = Request["Domain"];

            domainList.Add(domainName);//List<string>第一元素保存域名名稱,其他元素為域名后綴
            string[] ExtArry = Request["DomainTyle"].Split('.');
            for (int i = 1; i < ExtArry.Length; i++)
            {
                domainList.Add("."+ExtArry[i]);
            }
        }

        //顯示域名查詢情況:
        if (domainList.Count > 1)
        {
            string dm = domainList[0];
            string dname;
            Label lbl;
            for (int i = 1; i < domainList.Count; i++)
            {
                dname = dm + domainList[i];
                if (IsReg(dname))
                {
                    Response.Write("<div style='width:200px;clear:both;'><div style='width:120px;float:left'>" + dname + "</div><div style='width:80px;color:green;float:left'>&nbsp;&nbsp;<a href='DomainReg.aspx' target='_blank' style='color:green;text-decoration:none;'>可以注冊</a></div></div>");
                }
                else
                {
                    Response.Write("<div style='width:200px;clear:both;'><div style='width:120px;float:left'>" + dname + "</div><div style='width:80px;color:green;float:left'>&nbsp;&nbsp;<a href='DomainReg.aspx' target='_blank' style='color:red;text-decoration:none;'>已被注冊</a></div></div>");
                }
            }
        }
    }

 

    //判斷域名是否被注冊(方法):
    ///  Blog://xianfen.net

    public static bool IsReg(string domainName)
    {
        bool flag = false;
        string dm = HttpContext.Current.Server.UrlEncode(domainName);
        try
        {
            WebClient wc = new WebClient();
            string xmlstr = wc.DownloadString("            StringReader sr = new StringReader(xmlstr);
            XmlTextReader xr = new XmlTextReader(sr);
            while (xr.Read())
            {
                if (xr.IsStartElement("original"))
                {
                    xr.Read();
                    if (xr.Value.Substring(0, 3) == "210")
                    {
                        flag = true;
                        break;
                    }
                    else
                    {
                        flag = false;
                        break;
                    }
                }
            }
            return flag;
        }
        catch
        {
            return false;
        }
    }
}

原理基本上是這樣子的,沿用了原作者的寫法,不同的是,原作者從SESSION中取值,而這里用REQUEST來取值,這樣有利于后期的調用.查詢方法為

//qhit.me/Domainpost.aspx?action=Check&domain=qhwins&DomainTyle=.com.cn.net 這樣就可以查詢了,方便后期在AJAX頁面中提交.

文章沒有多少水平,僅寫出來供大家參考,其中原作者查詢萬網接口的方法有待改進.這里先直接用上了,要是我有時間再更新吧.


上一篇:ASP.NET(c#)實現中英文域名查詢
下一篇:.NET對IIS的控制
評論列表
正在加載評論……
  
評論   
呢  稱:
驗證碼: 若看不清請點擊更換!
內  容:
 
 
  在線洽談咨詢:
點擊這里,在線洽談   點擊這里,在線洽談   點擊這里,在線洽談
與我交談  與我交談 與我交談
乘車路線    匯款方式   加盟合作  人才招聘  
公司地址:青海省西寧市西關大街73號(三二四部隊招行所四樓)     青ICP備13000578號-1 公安機關備案號:63010402000123    
QQ:147399120    mail:[email protected]    電話: 13897410341    郵編:810000
© Copyright( 2008-2009) www.ymbxx.icu All Rights Reserved    版權所有:西寧威勢電子信息服務有限公司 未經書面制授權,請勿隨意轉載!
業務:青海網站制做、青海網站建設、青海網頁設計、西寧網站制做、西寧網站建設、青海域名注冊、青海網絡推廣、青海網站推廣、青??占渥庥?/a>、黑龙江11选5预测网、黑龙江11选5预测网、網絡安全

2019春节大乐透停售时间 时时彩最精准人工计划 5分快三免费计划软件下载 超级大乐透中奖规则图 北京pk赛车输的好惨 重庆时时彩有赢钱的吗 北京极速pk赛车官网 重庆时时杀号定胆 福建时时开奖现场 北京pk10免费全天计划 七星彩最准确十专家 北京pk10官网 老时时012路杀号 聚富影视软件安全吗 双色球中奖计算 pk10不定位345678打法