|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
这段程序最早是bigengle兄弟贴在chinaasp上的,是个很不错的程序来讲解ASP.Net的高级应用。不过最大的缺点就是查询中国域名时不支持中文,所出来的信息中文不能显示,小弟我轻微改了一下,这个已经能够支持中文了。呵呵,关于这个例子,我在国外的站点上放了了一个大家可以看 <br> <br> http://aspx1.brinkster.com/feidao/named.aspx <br> <br> 这个主机是国外的,所以对中文支持不太好(原因我在《亲密接触ASP.net》中说得很清晰),大家假如看不到中文,请用选择IE中的\"编码\"---\"简体中文\". <br> <br> 下面是源程序。 <br> <br> <% @ Page Language=\"C#\" %> <br> <% @ Assembly Name=\"System.Net\" %> <br> <% @ Import Namespace=\"System.Net.Sockets\" %> <br> <% @ Import Namespace=\"System.Text\" %> <br> <% @ Import Namespace=\"System.IO\" %> <br> <% @ Import Namespace=\"System.Collections\" %> <br> <script language=\"C#\" runat=\"server\"> <br> void doQuery(Object sender, EventArgs e) <br> { <br> String strDomain = txtDomain.Text; <br> char[] chSplit = {\\\'.\\\'}; <br> string[] arrDomain = strDomain.Split(chSplit); <br> <br> int nLength = arrDomain[1].Length ; <br> Hashtable table = new Hashtable(); <br> table.Add(\"de\", \"whois.denic.de\"); <br> table.Add(\"be\", \"whois.dns.be\"); <br> table.Add(\"gov\", \"whois.nic.gov\"); <br> table.Add(\"mil\", \"whois.nic.mil\"); <br> <br> String strServer ; //define whois server <br> //if the domainname\\\'s end is cn then the server is cnnic ,otherwise is networksolutions <br> if (arrDomain[arrDomain.Length - 1] == \"cn\") <br> { <br> strServer = \"159.226.6.139\" ; <br> } <br> else <br> { <br> strServer = \"whois.networksolutions.com\"; <br> } <br> <br> if (table.ContainsKey(arrDomain[1])) <br> { <br> strServer = table[arrDomain[1]].ToString(); <br> } <br> else if (nLength == 2) <br> { <br> // 2-letter TLD\\\'s always default to RIPE in Europe <br> strServer = \"whois.ripe.net\"; <br> } <br> <br> String strResponse; <br> bool bSuccess = DoWhoisLookup(strDomain, strServer, out strResponse); <br> if (bSuccess) <br> { <br> txtResult.Text = strResponse; <br> } <br> else <br> { <br> txtResult.Text = \"Lookup failed\"; <br> } <br> } <br> <br> bool DoWhoisLookup(String strDomain, String strServer, out String strResponse) <br> { <br> strResponse = \"none\"; <br> bool bSuccess = false; <br> <br> TCPClient tcpc = new TCPClient(); <br> if (0 == tcpc.Connect(strServer, 43)) <br> { <br> strDomain += \"/r/n\"; <br> Byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain.ToCharArray()); <br> try <br> { <br> String str; <br> Stream s = tcpc.GetStream(); <br> s.Write(arrDomain, 0, strDomain.Length); <br> <br> StreamReader sr = new StreamReader(tcpc.GetStream(), Encoding.Default); <br> StringBuilder strBuilder = new StringBuilder(); <br> while (-1 != sr.Peek()) <br> { <br> strBuilder.Append(sr.ReadLine()+\"<br>\"); <br> <br> } <br> tcpc.Close(); <br> <br> bSuccess = true; <br> strResponse = strBuilder.ToString(); <br> } <br> catch(Exception e) <br> { <br> strResponse = e.ToString(); <br> } <br> <br> return bSuccess; <br> } <br> else <br> { <br> strResponse = \"Could not connect to Whois server\"; <br> return false; <br> } <br> <br> return false; <br> } <br> </script> <br> <html> <br> <head> <br> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"> <br> <title></title> <br> </head> <br> <body> <br> <br> <form runat=\"server\"> <br> Domain name: WWW . <asp:TextBox id=\"txtDomain\" value=\"\" runat=\"server\" /> <br> <asp:Button id=\"btnQuery\" OnClick=\"doQuery\" text=\"Query!\" runat=\"server\" /> <br> <BR><HR width=\"100%\"><BR> <br> <asp:label id=\"txtResult\" runat=\"server\" /> <br> </form> <br> <br> </body> <br> </html> 返回类别: 教程 上一教程: 用ASP.NET和XML做的新闻系统 下一教程: 学习笔记《.NET框架程序设计(修订版)》--第三章 共享程序集 (2) 您可以阅读与"用ASP.Net编写的查询域名的程序"相关的教程: · 用c#写的asp+域名查询程序 · 用asp.net编写的上传程序 · 一个功能完善的专栏治理的程序->这是asp.net的第二个应用(一) · 一个功能完善的专栏治理的程序->这是asp.net的第二个应用(二) · 一个功能完善的专栏治理的程序->这是asp.net的第二个应用(三) |
| 快精灵印艺坊 版权所有 |
首页 |
||