- usingSystem;
- usingSystem.Data;
- usingSystem.Configuration;
- usingSystem.Web;
- usingSystem.Web.Security;
- usingSystem.Web.UI;
- usingSystem.Web.UI.WebControls;
- usingSystem.Web.UI.WebControls.WebParts;
- usingSystem.Web.UI.HtmlControls;
- usingSystem.Net;
- usingSystem.Net.Sockets;
- usingSystem.Text;
- usingSystem.Collections;
- usingSystem.Text.RegularExpressions;
- ///<summary>
- ///SelectYuMing的摘要说明
- ///</summary>
- publicclassSelectYuMing
- {
- publicSelectYuMing()
- {
- //
- //TODO:在此处添加构造函数逻辑
- //
- }
- /**/
- ///<summary>
- ///域名注册查询
- ///</summary>
- ///<paramname="domain">输入域名,不包含www</param>
- ///<returns></returns>
- publicstaticstringWhois(stringdomain)
- {
- if(domain==null)
- thrownewArgumentNullException();//如果输入为空就抛出一个空异常(停止程序的执行)
- intccStart=domain.LastIndexOf(".");//
- if(ccStart<0||ccStart==domain.Length)
- thrownewArgumentException();
- stringret="";
- Sockets=null;
- try
- {
- stringcc=domain.Substring(ccStart+1);
- s=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
- s.Connect(newIPEndPoint(Dns.Resolve(cc+".whois-servers.net").AddressList[0],43));
- s.Send(Encoding.ASCII.GetBytes(domain+"/r/n"));
- byte[]buffer=newbyte[1024];
- intrecv=s.Receive(buffer);
- while(recv>0)
- {
- ret+=Encoding.ASCII.GetString(buffer,0,recv);
- recv=s.Receive(buffer);
- }
- s.Shutdown(SocketShutdown.Both);
- }
- catch
- {
- thrownewSocketException();
- }
- finally
- {
- if(s!=null)
- s.Close();
- }
- returnret;
- }
- ///<summary>
- ///查询域名是否存在
- ///</summary>
- ///<paramname="str">所有的后缀的集合(com|cn|com.cn|hk|.net|mobi|asia|)</param>
- ///<paramname="strYuMing"></param>
- ///<returns></returns>
- publicArrayListSelectYu(ArrayListstr,stringstrYuMing)
- {
- ArrayListarr=newArrayList();
- foreach(stringstrYuinstr)
- {
- try
- {
- stringstrManage=Whois(strYuMing+strYu);
- Booleanboole=SelectURL(strManage,strYu);
- if(boole)
- {
- arr.Add("<span>此域名可以进行注册</span>");
- }
- else
- {
- arr.Add("<spanstyle='color:red'>此域名已经注册</span>");
- }
- }catch(Exception){
- arr.Add("<spanstyle='color:red'>网络访问失败</span>");
- }
- }
- returnarr;
- }
- ///<summary>
- ///得到服务器返回的信息进行比较
- ///</summary>
- ///<paramname="strManage">服务器返回的信息</param>
- ///<paramname="houZui">根据后缀进行比较</param>
- ///<returns>域名是否可用</returns>
- protectedBooleanSelectURL(stringstrManage,stringhouZui)
- {
- Booleanfalge=false;
- StringPattern="";
- RegexOptionsregex=newRegexOptions();
- switch(houZui)
- {
- case".cn"://cn返回的信息
- if(strManage=="nomatchingrecord")
- {
- falge=true;
- };
- break;
- case".com"://com返回的信息Net返回的信息cc返回的信息
- Pattern="Nomatch";
- MatchCollectionMatches1=Regex.Matches(strManage,Pattern,regex);
- foreach(MatchNextMatchinMatches1)
- {
- falge=true;
- }
- break;
- case".net":
- Pattern="Nomatch";
- MatchCollectionMatchess2=Regex.Matches(strManage,Pattern,regex);
- foreach(MatchNextMatchinMatchess2)
- {
- falge=true;
- }
- break;
- case".tv":
- Pattern="Nomatch";
- MatchCollectionMatchess6=Regex.Matches(strManage,Pattern,regex);
- foreach(MatchNextMatchinMatchess6)
- {
- falge=true;
- }
- break;
- case".name":
- Pattern="Nomatch";
- MatchCollectionMatchess7=Regex.Matches(strManage,Pattern,regex);
- foreach(MatchNextMatchinMatchess7)
- {
- falge=true;
- }
- break;
- case".cc":
- Pattern="Nomatch";
- MatchCollectionMatchess3=Regex.Matches(strManage,Pattern,regex);
- foreach(MatchNextMatchinMatchess3)
- {
- falge=true;
- }
- break;
- case".mobi"://mobi返回的信息org返回的信息asia返回的信息
- if(strManage=="NOTFOUND/n")
- {
- falge=true;
- };
- break;
- case".org":
- if(strManage=="NOTFOUND/n")
- {
- falge=true;
- };
- break;
- case".info":
- if(strManage=="NOTFOUND/n")
- {
- falge=true;
- };
- break;
- case".asia":
- if(strManage=="NOTFOUND/n")
- {
- falge=true;
- };
- break;
- case".biz":
- Pattern="Notfound";//BIZ返回的信息
- MatchCollectionMatchess4=Regex.Matches(strManage,Pattern,regex);
- foreach(MatchNextMatchinMatchess4)
- {
- falge=true;
- }
- break;
- case".hk":
- Pattern="DomainNotFound";//hk返回的信息
- MatchCollectionMatchess5=Regex.Matches(strManage,Pattern,regex);
- foreach(MatchNextMatchinMatchess5)
- {
- falge=true;
- }
- break;
- case".com.cn":
- if(strManage=="nomatchingrecord")
- {
- falge=true;
- }
- break;
- case".net.cn":
- if(strManage=="nomatchingrecord")
- {
- falge=true;
- }
- break;
- }
- returnfalge;
- }
- }
域名查询源码
最新推荐文章于 2024-11-11 00:31:42 发布