当前位置:七道奇文章资讯网站建设网站编程
日期:2010-11-27 10:45:00  来源:本站整理

ASP.NET实现域名whois信息查询[网站编程]

赞助商链接



  本文“ASP.NET实现域名whois信息查询[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

cs 代码以下,也有大概因为服务器不可用招致查询失利!


 

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4. using System.IO;  
  5. using System.Net.Sockets;  
  6. using System.Text.RegularExpressions;  
  7. using System.Globalization;  
  8.  
  9. public partial class Default2 : System.Web.UI.Page  
  10. {  
  11. protected void Page_Load(object sender, EventArgs e)  
  12. {  
  13.  
  14. }  
  15. public static string Mywhois(string _domain)  
  16. {  
  17.  
  18.  
  19. string strServerReal = "";  
  20. string strServerCom = "whois.internic.net";  
  21. string strServerCN = "whois.cnnic.net.cn";  
  22. string strServerLA = "whois2.afilias-grs.net";  
  23. string strServerORG = "whois.publicinterestregistry.net";  
  24. string strServerCC = "whois.nic.cc";  
  25. string strServerTV = "whois.nic.tv";  
  26. string strServerBIZ = "whois.neulevel.biz";  
  27. string strServerMOBI = "whois.dotmobiregistry.net";  
  28. string strServerINFO = "whois.afilias.net";  
  29. string strServerTW = "whois.twnic.net";  
  30. string strServerNAME = "whois.nic.Name";  
  31.  
  32.  
  33. bool blSuccess = false, blSuccess1 = false;  
  34.  
  35. String strResponse = "", strResponse1;  
  36.  
  37.  
  38. _domain = _domain.Replace("http://""");  
  39. _domain = _domain.Replace("www.""");  
  40.  
  41. if (Regex.IsMatch(_domain, @"[\u4e00-\u9fa5]+"))  
  42. {  
  43. IdnMapping dd = new IdnMapping();  
  44. _domain = dd.GetAscii(_domain);  
  45. }  
  46. string[] arrDomain = _domain.Split('.');  
  47. string DomainType = arrDomain[arrDomain.GetLength(0) - 1].ToUpper();  
  48.  
  49. if (DomainType == "CN")  
  50. {  
  51. blSuccess = IsWhosisSuccess(_domain, strServerCN, out strResponse);  
  52.  
  53. }  
  54. else if (DomainType == "TW")  
  55. {  
  56. blSuccess = IsWhosisSuccess(_domain, strServerTW, out strResponse);  
  57.  
  58. }  
  59. else if (DomainType == "LA")  
  60. {  
  61. blSuccess = IsWhosisSuccess(_domain, strServerLA, out strResponse);  
  62. }  
  63. else if (DomainType == "CC")  
  64. {  
  65. blSuccess = IsWhosisSuccess(_domain, strServerCC, out strResponse);  
  66. }  
  67. else if (DomainType == "TV")  
  68. {  
  69. blSuccess = IsWhosisSuccess(_domain, strServerTV, out strResponse);  
  70. }  
  71. else if (DomainType == "BIZ")  
  72. {  
  73. blSuccess = IsWhosisSuccess(_domain, strServerBIZ, out strResponse);  
  74. }  
  75. else if (DomainType == "MOBI")  
  76. {  
  77. blSuccess = IsWhosisSuccess(_domain, strServerMOBI, out strResponse);  
  78. }  
  79. else if (DomainType == "INFO")  
  80. {  
  81. blSuccess = IsWhosisSuccess(_domain, strServerINFO, out strResponse);  
  82. }  
  83. else if (DomainType == "NAME")  
  84. {  
  85. blSuccess = IsWhosisSuccess(_domain, strServerNAME, out strResponse);  
  86. }  
  87. else if (DomainType == "ORG")  
  88. {  
  89. blSuccess = IsWhosisSuccess(_domain, strServerORG, out strResponse);  
  90. }  
  91. else 
  92. {  
  93. blSuccess = IsWhosisSuccess(_domain, strServerCom, out strResponse1);  
  94. int ii = strResponse1.IndexOf("Whois Server:");  
  95. if ((ii >= 0) && (blSuccess))  
  96. {  
  97. strServerReal = strResponse1.Remove(0, strResponse1.IndexOf("Whois Server:"));  
  98. strServerReal = strServerReal.Remove(strServerReal.IndexOf("\r\n"), strServerReal.Length - strServerReal.IndexOf("\r\n"));  
  99. strServerReal = strServerReal.Remove(0, strServerReal.IndexOf(":") + 1);  
  100. strServerReal = strServerReal.Trim();  
  101. blSuccess1 = IsWhosisSuccess(_domain, strServerReal, out strResponse);  
  102. if (!blSuccess1)  
  103. {  
  104. strResponse = "[" + strServerCom + "]" + "\r\n" + strResponse1;  
  105. }  
  106. else 
  107. {  
  108. strResponse = "[" + strServerReal + "]" + "\r\n" + strResponse;  
  109. }  
  110. }  
  111. else 
  112. {  
  113. strResponse = "[" + strServerCom + "]" + "\r\n" + strResponse1;  
  114. }  
  115.  
  116. }  
  117.  
  118.  
  119.  
  120. if (blSuccess)  
  121. {  
  122. return strResponse;  
  123. }  
  124. else 
  125. {  
  126. return "查询失利....";  
  127. }  
  128.  
  129.  
  130. }  
  131. private static bool IsWhosisSuccess(String strDomain, String strServer,  
  132. out String strResponse)  
  133. {  
  134. strResponse = "none";  
  135. if ((strDomain == "") || (strDomain == null) || (strServer == "") || (strServer == null))  
  136. throw new ArgumentNullException();  
  137. bool blSuccess = false;  
  138. TcpClient tcpc = new TcpClient();  
  139. try 
  140. {  
  141.  
  142. tcpc.Connect(strServer, 43);  
  143. }  
  144. catch 
  145. {  
  146. strResponse = "[" + strServer + "]" + "\r\n" + "衔接不到该 Whois server,请稍后再试.";  
  147. return false;  
  148. }  
  149.  
  150. strDomain += "\r\n";  
  151. Byte[] arrDomain = Encoding.UTF8.GetBytes(strDomain.ToCharArray());  
  152. try 
  153. {  
  154. Stream s = tcpc.GetStream();  
  155.  
  156. s.Write(arrDomain, 0, strDomain.Length);  
  157.  
  158. StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.UTF8);  
  159. StringBuilder strBuilder = new StringBuilder();  
  160. string strLine = null;  
  161.  
  162. while (null != (strLine = sr.ReadLine()))  
  163. {  
  164. strBuilder.Append(strLine + "\r\n");  
  165. }  
  166. tcpc.Close();  
  167.  
  168. blSuccess = true;  
  169.  
  170. strResponse = strBuilder.ToString();  
  171. }  
  172. catch (Exception e)  
  173. {  
  174. strResponse = e.ToString();  
  175. return false;  
  176. }  
  177.  
  178. return blSuccess;  
  179. }  
  180. protected void btn_Query_Click(object sender, EventArgs e)  
  181. {  
  182. lbl_whoisinfo.Text = Mywhois(TextBox1.Text.Trim());  
  183. }  
  184. }  
  185.  

  以上是“ASP.NET实现域名whois信息查询[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • ASP利用正则表达式提取内容
  • nginx 反向代理iis支持 ASP脚本设置
  • <b>ASP.NET安全设置防备ASPXSpy</b>
  • Ubuntu Server+Apache 运行 asp.net
  • 怎样ASP.NET MVC调用Delphi开辟的Web报表
  • 学习ASP.NET需求举行的步骤办法
  • ASP.NET脚本过滤-避免跨站脚本攻击
  • Asp WinHttp.WinHttpRequest.5.1 对象利用详解
  • ASP防XSS注入函数
  • Asp 防备CC攻击模块 (Anti-CC.asp)
  • metasploit metasploit 中文系统安装失利问题
  • Ubuntu 11下安装Metasploit Pro 4.0.0
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .