最後に、私は何か新しいことを学ぶ時間があります
ASPの改善は大きすぎますが、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"%>
<スクリプト言語= "c#" runat = "server">
void doquery(オブジェクト送信者、eventargs e)
{{
string strongomain = txtdomain.text;
char [] chsplit = {'。'};
string [] arrduin = strdomain.split(chsplit);
int nlenth = arrdomain [1] .length;
ハッシュテーブルテーブル= 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");
文字列strserver; // whoisサーバーを定義します
//ドメイン名の終わりがCNの場合、サーバーはcnnicであり、それ以外の場合はネットワークルは
if(arrdomain [arrdomain.length -1] == "cn")
{{
strserver = "159.226.6.139";
}
それ以外
{{
strserver = "whois.networksolutions.com";
}
if(table.containskey(arrdomain [1]))
{{
strserver = table [arrdomain] [1]]。
}
else if(nlength == 2)
{{
// LTTER TLDは、ヨーロッパでは常に熟しているデフォルトです
strserver = "whois.ripe.net";
}
文字列stresponse;
bool bsuccess = dowhoislookup(strdomain、strserver、out stresponse);
if(bsuccess)
{{
txtresult.text = stresponse;
}
それ以外
{{
txtresult.text = "lookup failed";
}
}
bool dowhoislokup(string strdomain、string strserver、out string stresponse)
{{
stresponse = "none";
bool bsuccess = false;
tcpclient tcpc = new tcpclient();
if(0 == tcpc.connect(strserver、43))
{{
strdomain += "/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;
stresponse = strbuilder.toString();
}
キャッチ(例外e)
{{
stresponse = e.toString();
}
bsuccessを返します。
}
それ以外
{{
stresponse = "whois serverに接続できませんでした";
falseを返します。
}
falseを返します。
}
</script>
<html>
<head>
<title> </title>
</head>
<body>
<form runat = "server">
ドメイン名:www。
<asp:button id = "btnquery" onclick = "doquery" text = "query =" server " /> />
<br> <hr> <br>
<ASP:ラベルID = "txtresult" runat = "server" />
</form>
</body>
</html>