知识大全 ASP.NET(c#)实现中英文域名查询

Posted 域名

篇首语:人如果没有知识,无异于行尸走肉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET(c#)实现中英文域名查询相关的知识,希望对你有一定的参考价值。

ASP.NET(c#)实现中英文域名查询  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   引言

  要实现域名查询 首先要找到域名服务器 在这用的是万网的域名服务器

  网址为 bin/check cgi?area_domain=

  whois bin/whois?domain=

   查询界面

  输入中文域名后查询界面

  

  判断是否为中文域名(javascript)

  function IsChDomain(domainStr)

  

  var flag = false;

  var pStr = ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz _ ;

  var domainLength = domainStr length;

  for(var i = ;i < domainLength;i++)

  

  var temp = domainStr charCodeAt(i);

  if(temp >= )//含有字符编码大于 的字符判断为中文 不太严格

  

  flag=true;

  

  else

  

  var temp = pStr indexOf(domainStr charAt(i));

  if(temp == )

  

  flag = false;

  break;

  

  

  

  return flag;

  

  输入英文域名后查询界面

  

  判断是否为英文域名

  function IsEnDomain(domainStr)

  

  var flag = false;

  var pStr = ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz _ ;

  var domainLength = domainStr length;

  for(var i = ;i<domainLength;i++)

  

  if(pStr indexOf(domainStr charAt(i)) == )

  

  flag = false;

  break;

  

  else

  

  flag = true;

  

  

  return flag;

  

  中国等不能注册英文域名 把相应的CheckBox的disabled属性设置为true 代码为(javascript)

  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 >= )

  

  alert( 域名长度不能超过 个字符! );

  return false;

  

  for(var i = ;i < document getElementById( txtDomainName ) value length;i++)

  

  if(document getElementById( txtDomainName ) value charAt(i) == )

  

  alert( 域名中不能含有空格! );

  return false;

  break;

  

  

  checkDomainType();

  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( c ) disabled = flag;

  document getElementById( ccn ) disabled = flag;

  document getElementById( ccn ) disabled = flag;

  document getElementById( cnetcn ) disabled = flag;

  document getElementById( cgovcn ) disabled = flag;

  document getElementById( cmobi ) disabled = flag;

  document getElementById( cinfo ) disabled = flag;

  document getElementById( ccn ) disabled = flag;

  document getElementById( cchina ) disabled = !flag;

  document getElementById( cpany ) disabled = !flag;

  document getElementById( cneork ) disabled = !flag;

  

  查询结果界面

  

   后台编码

  例如查询域名

  网址为

   bin/check cgi?area_domain=

  返回的信息为XML格式

  <?xml version= encoding= gb ?>

  <property>

  <returncode> </returncode>

  <key></key>

  <original> : Domain name is available</original>

  </property>

  其中 表示正确返回

   表示可以注册

  因此可通过判断original 后的代码是否为 判断域名是否可以注册

  判断方法有多种 处理字符串 解析XML等

  在这用的是解析XML方法

  获取待查询的域名

  string domainName = Common ClearString(txtDomainName Text );//清理字符串 判断域名是否合法

  if (domainName == string Empty)

  

  lblMsg Text = Common ShowMessage( 请输入域名! );

  return;

  

  IList<string> domainList = new List<string>();//保存域名名称和后缀

  domainList Add(domainName);//List<string>第一元素保存域名名称 其他元素为域名后缀

  if (c Checked) domainList Add(c Text);

  if (cnet Checked) domainList Add(cnet Text);

  if (cbiz Checked) domainList Add(cbiz Text);

  if (ccc Checked) domainList Add(ccc Text);

  if (ctv Checked) domainList Add(ctv Text);

  if (Utility IsHasCHZN(domainName))

  

  if (cchina Checked) domainList Add(cchina Text);

  if (cpany Checked) domainList Add(cpany Text);

  if (cneork Checked) domainList Add(cneork Text);

  if (ccn Checked) domainList Add(ccn Text);

  

  else

  

  if (c Checked) domainList Add(c Text);

  if (ccn Checked) domainList Add(ccn Text);

  if (ccn Checked) domainList Add(ccn Text);

  if (cnetcn Checked) domainList Add(cnetcn Text);

  if (cgovcn Checked) domainList Add(cgovcn Text);

  if (cmobi Checked) domainList Add(cmobi Text);

  if (cinfo Checked) domainList Add(cinfo Text);

  

  Session[ domainName ] = domainList;

  Response Redirect( ShowDomainName aspx );//在 ShowDomainName aspx 中判断处理待查询的域名

  判断是否为中文域名(方法)

  public static bool IsHasCHZN(string domainName)

  

  Regex RegCHZN = new Regex( [一 龥] );

  Match m = RegCHZN Match(domainName);

  return m Success;

  

  判断域名是否被注册(方法)

  /// ** (C#) 实现域名查询**

  ///

  ///  File: CommonOperate cs

  ///

  ///  Author: 周振兴 (Zxjay 飘遥)

  ///

  ///  E Mail:

  ///

  ///  Date:

  ///

  ///  Blog:

  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( bin/check cgi?

  area_domain= + dm);

  StringReader sr = new StringReader(xmlstr);

  XmlTextReader xr = new XmlTextReader(sr);

  while (xr Read())

  

  if (xr IsStartElement( original ))

  

  xr Read();

  if (xr Value Substring( ) == )

  

  flag = true;

  break;

  

  else

  

  flag = false;

  break;

  

  

  

  return flag;

  

  catch

  

  return false;

  

  

  显示域名查询情况

  if (Session[ domainName ] != null)

  

  IList<string> il = (IList<string>)Session[ domainName ];

  if (il Count > )

  

  string dm = il[ ];

  string dname;

  Label lbl;

  for (int i = ; i < il Count; i++)

  

  dname = dm + il[i];

  if (Utility IsReg(dname))

  

  lbl = new Label();

  lbl ID = lbl + i ToString();

  lbl Text = string Format( <div style= padding: px; width: px;

  float:left;clear:left; > </div> +

   <div style= text align:center;padding: px;width: px;float:left;

  color:#ff ; >可以注册!</div> dm + il[i]);

  pnlDomainName Controls Add(lbl);

  

  else

  

  lbl = new Label();

  lbl ID = lbl + i ToString();

  lbl Text = string Format( <div style= padding: px; width: px;

  float:left; clear:left; ><a target= _blank > </a></div> +

   <div style= text align:center;float:left;padding: px; width: px; >已被注册!

  </div> +

   <div style= float:left;padding: px; ><a target= _blank

   bin/whois?domain= >查看</a></div>

  dm + il[i] dm + il[i] Server UrlEncode(dm + il[i]));

  pnlDomainName Controls Add(lbl);

  

  

  

  

   注意事项

  ( ) 编码格式必须是GB

  ( ) 域名格式判断并不太严格

cha138/Article/program/net/201311/13950

相关参考

知识大全 ASP.NET(C#)

ASP.NET(C#)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &nb

知识大全 ASP.net(C#)批量上传图片

ASP.net(C#)批量上传图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  因本网站上传图

知识大全 ASP.NET学习笔记之c#必会

ASP.NET学习笔记之c#必会  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 asp.net(C#)套用模板操作Excel

asp.net(C#)套用模板操作Excel  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  当需

知识大全 Asp.net(C#)实现验证码功能两法

Asp.net(C#)实现验证码功能两法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.Net之C#中的异常处理

ASP.Net之C#中的异常处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  基础知识  程序

知识大全 ASP.Net之C#中的异常处理[2]

ASP.Net之C#中的异常处理[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 ASP.Net之C#中的异常处理[1]

ASP.Net之C#中的异常处理[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 在Asp.net用C#建立动态Excel

在Asp.net用C#建立动态Excel  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在中建立

知识大全 ASP.NET中利用存储过程实现模糊查询

ASP.NET中利用存储过程实现模糊查询  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一建立存