Наконец, у меня есть время, чтобы узнать что -то новое
Улучшение ASP слишком велика.
Есть еще. Что ж, давайте поговорим о меньшей глупости, посмотрим на исходный код.
< % @page language = "c#" %>
< % @Assembly name = "System.net" %>
< % @import namespace = "System.net.sockets" %>
< % @Import namespace = "System.Text" %>
< % @Import namespace = "System.io" %>
< % @Import namespace = "System.collections" %>
<script language = "c#" runat = "server">
void doquery (отправитель объектов, Eventargs E)
{{
string strongomain = txtdomain.text;
char [] chsplit = {'.'};
string [] arrduin = strdomAn.split (chsplit);
int nlenth = arrdomain [1] .length;
Hashtable Table = new Hashtable ();
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;
// Если конец DomainName - это CN, сервер CNNIC, в противном случае это NetworkSolutions
if (arrdromain [arrdomain.length -1] == "cn")
{{
strserver = "159.226.6.139";
}
еще
{{
strserver = "whois.networksolutions.com";
}
if (table.containskey (arrdomain [1]))
{{
strserver = таблица [arrdomain] [1]].
}
иначе if (nlength == 2)
{{
// ltter tld всегда по умолчанию в Европе
strserver = "whois.ripe.net";
}
String Strresponse;
Bool bsuccess = dowhoiSlookup (StrdomAn, Strserver, Out Strresponse);
if (bsuccess)
{{
txtresult.text = strresponse;
}
еще
{{
txtresult.text = "Lookup не удалось";
}
}
Bool Dowhoislokup (String Stromadain, String Strserver, Out String Strresponse)
{{
strresponse = "нет";
Bool bsuccess = false;
tcpclient tcpc = new tcpclient ();
if (0 == tcpc.connect (strserver, 43)))
{{
StrdomAn += "/r/n";
byte [] arrdomain = encoding.ascii.getbytes (strdomain.tocharray ());
пытаться
{{
Stream S = TCPC.GetStream ();
S.Write (Arrdomain, 0, Strdomain.length);
StreamReader sr = new StreamReader (TCPC.GetStream (), Encoding.ascii);
StringBuilder strbuilder = new StringBuilder ();
While (-1! = Sr.peek ())
{{
Strbuilder.append (sr.readline ()+"<br>");
}
tcpc.close ();
bsuccess = true;
strresponse = strbuilder.toString ();
}
Поймать (исключение E)
{{
strresponse = e.toString ();
}
Вернуть BSUCCESS;
}
еще
{{
Strresponse = "не удалось подключиться к серверу whois";
Вернуть ложь;
}
Вернуть ложь;
}
</script>
<html>
<голова>
<Title> </title>
</head>
<тело>
<Form runat = "server">
Доменное имя: www.
<ASP: Button Id = "btnquery" onclick = "doquery" text = "Query!"
<br> <hr> <br>
<ASP: MABL ID = "TXTRESULT" RUNAT = "Сервер" />
</form>
</body>
</html>