知识大全 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#) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
ASP.net(C#)批量上传图片 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 因本网站上传图
ASP.NET学习笔记之c#必会 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
asp.net(C#)套用模板操作Excel 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 当需
Asp.net(C#)实现验证码功能两法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.Net之C#中的异常处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 基础知识 程序
ASP.Net之C#中的异常处理[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
ASP.Net之C#中的异常处理[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
在Asp.net用C#建立动态Excel 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在中建立
ASP.NET中利用存储过程实现模糊查询 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一建立存