当前位置:  编程技术>.net/c#/asp.net

C#独立域名查询代码

    来源: 互联网  发布时间:2014-10-13

    本文导语:  whois.aspx              void doQuery(Object sender, EventArgs e)  {  String strDomain = txtDomain.Text;  char[] chSplit = {'.'};  string[] arrDomain = strDomain.Split(chSplit);  // es darf genau ein domain name + ein suffix sein  if (arrDomain.Length != 2) ...

whois.aspx 

 
 
 
 
 
 
void doQuery(Object sender, EventArgs e) 

String strDomain = txtDomain.Text; 
char[] chSplit = {'.'}; 
string[] arrDomain = strDomain.Split(chSplit); 
// es darf genau ein domain name + ein suffix sein 
if (arrDomain.Length != 2) 

return; 

// das suffic darf nur 2 oder 3 zeichen lang sein 
int nLength = arrDomain[1].Length; 
if (nLength != 2 && nLength != 3) 

return; 

Hashtable table = new Hashtable(); 
table.Add("at", "whois.nic.at"); 
table.Add("de", "whois.denic.de"); 
table.Add("be", "whois.dns.be"); 
table.Add("gov", "whois.nic.gov"); 
table.Add("mil", "whois.nic.mil"); 
String strServer = "whois.OnlineNIC.com"; 
if (table.ContainsKey(arrDomain[1])) 

strServer = table[arrDomain[1]].ToString(); 

else if (nLength == 2) 

// 2-letter TLD's always default to RIPE in Europe 
strServer = "whois.ripe.net"; 

String strResponse; 
bool bSuccess = DoWhoisLookup(strDomain, strServer, out strResponse); 
if (bSuccess) 

txtResult.Text = strResponse; 

else 

txtResult.Text = "Lookup failed"; 


bool DoWhoisLookup(String strDomain, String strServer, out String strResponse) 

strResponse = "none"; 
bool bSuccess = false; 
TcpClient tcpc = new TcpClient(); 
try 

tcpc.Connect(strServer, 43); 

catch(SocketException ex) 

strResponse = "Could not connect to Whois server"; 
return false; 

strDomain += "rn"; 
Byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain.ToCharArray()); 
try 

Stream s = tcpc.GetStream(); 
s.Write(arrDomain, 0, strDomain.Length); 
StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.ASCII); 
StringBuilder strBuilder = new StringBuilder(); 
string strLine = null; 
while (null != (strLine = sr.ReadLine())) 

strBuilder.Append(strLine+"
"); 

tcpc.Close(); 
bSuccess = true; 
strResponse = strBuilder.ToString(); 

catch(Exception e) 

strResponse = e.ToString(); 

return bSuccess; 

 
 
 
 
 
 
 
域名whois查询(.NET版):  
  


 
 
 
 
 

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python之平台独立的调试工具winpdb介绍
  • 分布式系统的故障独立性如何理解
  • pipe是什么样的文件系统?是独立的文件系统吗?
  • Servelet的小程序如何独立出来?
  • 求助!!!怎么实现micro2440利用独立的IP地址上互联网?
  • 用户进程有自己独立的地址空间,内核线程没有自己的地址空间 该怎样理解: ?
  • 独立编址和统一编址问题,大家执教
  • 在上Linux进行C/C++编程时, 怎样才能达到二个独立的程序工作?
  • 平台独立的音乐操作库 PortMedia
  • CouchDB 独立博客 sofa-CouchDB
  • 独立信息管理系统 NASA ECHO
  • 用jbuilder 编写的appliction 程序,如何独立于jbuilder 编译器之外运行?
  • 怎样让java应用程序独立运行?
  • 如何一个独立的窗口始终位于桌面的最上层?
  • 串口收发线程独立
  • 独立网站开设邮箱,帮忙解答下,谢谢
  • 如果遇到多层函数调用,使用一次上锁解锁可以保证数据的线程独立性么
  • 在什么情况下,有必要把一个函数独立为一个线程执行?或者说用线程解决问题的一些典型例子?
  • 怎么安装一个比较“独立”的JAVA编译环境?
  • 有什么办法可以将文件从windows系统,转到独立分区的linux系统下?
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3