繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 域名查询

域名查询

2007-05-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:/// /// 从“中国万网(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|.o...
关键字:域名 查询

///

/// 从“中国万网(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;

}

责任编辑:admin
相关文章