Finalmente, tenho tempo para aprender algo novo
A melhoria do ASP é muito grande.
Existem mais. Bem, vamos falar menos sem sentido, veja o código -fonte.
< % @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 (remetente de objeto, EventArgs e)
{{
string strongomain = txtDomain.text;
char [] chsplit = {'.'};
string [] arrduin = strDomain.split (chsplit);
int nlenth = arDRomain [1] .Length;
Tabela hashtable = new hashtable ();
tabela.add ("de", "whois.denic.de");
tabela.add ("be", "whois.dns.be");
tabela.add ("Gov", "whois.nic.gov");
tabela.add ("mil", "whois.nic.mil");
String strServer;
// Se o fim do domínio é CN, o servidor é CNNIC, caso contrário, é o NetworkSolutions
if (Arrdomain [Arrdomain.Length -1] == "CN")
{{
strServer = "159.226.6.139";
}
outro
{{
strServer = "whois.networksolutions.com";
}
if (table.containsKey (Ardomain [1])))
{{
StrServer = Tabela [Ardomain] [1]].
}
else if (nlength == 2)
{{
// Ltter TLD sempre padrão para madurar na Europa
strserver = "whois.ripe.net";
}
string strResponse;
Bool bsuccess = dowhoislookUp (estrdomain, strServer, out strResponse);
if (bsuccess)
{{
txtResult.Text = strResponse;
}
outro
{{
txtResult.text = "lookup falhou";
}
}
Bool dowhoislokup (string strdomain, string strserver, out string strpressonse)
{{
strResponse = "nenhum";
Bool bsuccess = false;
tcpClient tcpc = new tcpClient ();
if (0 == tcpc.connect (strserver, 43))
{{
strDomain += "/r/n";
byte [] prrDRomain = coding.ascii.getbytes (strDomain.tocharray ());
tentar
{{
fluxo s = tcpc.getStream ();
S.Write (Ardomain, 0, Strdomain.Length);
StreamReader sr = new StreamReader (tcpc.getstream (), coding.ascii);
Stringbuilder strbuilder = new stringbuilder ();
While (-1! = Sr.Peek ())
{{
Strbuilder.append (sr.readline ()+"<br>");
}
tcpc.close ();
bsuccess = true;
strResponse = strbuilder.toString ();
}
Catch (Exceção e)
{{
strResponse = e.toString ();
}
Devolver bsuccess;
}
outro
{{
StrResponse = "não pôde se conectar ao servidor Whois";
Retornar falso;
}
Retornar falso;
}
</script>
<html>
<head>
<Title> </title>
</head>
<Body>
<Form runat = "servidor">
Nome do domínio: www.
<ASP: Button ID = "BtnQuery" OnClick = "DoQuery" text = "Query!"
<br> <hr> <br>
<ASP: LABEL ID = "TXTRESULT" RUNAT = "Server" />
</morm>
</body>
</html>