SoFunction
Updated on 2025-03-07

C# independent domain name query code

 

<% @Page Language="C#" %> 
<% @Import Namespace="" %> 
<% @Import Namespace="" %> 
<% @Import Namespace="" %> 
<% @Import Namespace="" %> 
<script language="C#" runat ="server"> 
void doQuery(Object sender, EventArgs e) 

String strDomain = ; 
char[] chSplit = {'.'}; 
string[] arrDomain = (chSplit); 
// es darf genau ein domain name + ein suffix sein 
if ( != 2) 

return; 

// das suffic darf nur 2 oder 3 zeichen lang sein 
int nLength = arrDomain[1].Length; 
if (nLength != 2 && nLength != 3) 

return; 

Hashtable table = new Hashtable(); 
("at", ""); 
("de", ""); 
("be", ""); 
("gov", ""); 
("mil", ""); 
String strServer = ""; 
if ((arrDomain[1])) 

strServer = table[arrDomain[1]].ToString(); 

else if (nLength == 2) 

// 2-letter TLD's always default to RIPE in Europe 
strServer = ""; 

String strResponse; 
bool bSuccess = DoWhoisLookup(strDomain, strServer, out strResponse); 
if (bSuccess) 

 = strResponse; 

else 

 = "Lookup failed"; 


bool DoWhoisLookup(String strDomain, String strServer, out String strResponse) 

strResponse = "none"; 
bool bSuccess = false; 
TcpClient tcpc = new TcpClient(); 
try 

(strServer, 43); 

catch(SocketException ex) 

strResponse = "Could not connect to Whois server"; 
return false; 

strDomain += "\r\n"; 
Byte[] arrDomain = (()); 
try 

Stream s = (); 
(arrDomain, 0, ); 
StreamReader sr = new StreamReader((), ); 
StringBuilder strBuilder = new StringBuilder(); 
string strLine = null; 
while (null != (strLine = ())) 

(strLine+"<br>"); 

(); 
bSuccess = true; 
strResponse = (); 

catch(Exception e) 

strResponse = (); 

return bSuccess; 

</script> 
<html> 
<head> 
<title></title> 
</head> 
<body> 
<form runat ="server"> 
Domain name whois query (.NET version): <asp:TextBox  value="" runat ="server" //
&nbsp;<asp:Button  OnClick="doQuery" text="Query!" runat ="server" /> 
<BR><HR width="100%"><BR> 
<asp:label  runat ="server" /> 
</form> 
</body> 
</html>