Solo enviale el dominio en la variable domain y extension en la variable suffix via query
Se podria adaptar para mas tipos de dominios aparte de los mencionados, pero creo que puse los mas usados
Código:
<% 'Poner tiempo de espera a 90seg Server.ScriptTimeout = 90 'Whois function to query the whois server Private Function whoisResult(whoisURL, strMethod, strResultsStart, strResultsEnd) 'Dimension variables Dim objXMLHTTP 'Holds the XML HTTP Object Dim strWhoisResultString 'Holds the reult of the whois query 'Create an XML object to query the remote whois server Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP") 'Alternative XML HTTP component, for version 3.0 of XMLHTTP 'Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP") 'Open a connection to the remote whois server objXMLHTTP.Open strMethod, whoisURL, False 'Send the request and return the data objXMLHTTP.Send 'Place the whois registry response into the result string strWhoisResultString = objXMLHTTP.ResponseText 'If the domain name is to short then tell them it's invalid If Len(strDomainName) < 3 Then 'Set the return result of the function to not valid whoisResult = "No Valido - debe tener por lo menos 3 caracteres" 'Else if there is an error ElseIF InStr(1, strWhoisResultString, "Error", vbTextCompare) Then 'Set the return result of the function to Taken whoisResult = "A ocurrido un error" 'Else there was a result Else 'Strip the whois result leaving the data we want whoisResult = resultFormater(strWhoisResultString, strResultsStart, strResultsEnd) End If 'Clean up Set objXMLHTTP = Nothing End Function 'Function to strip all non estential returned input Private Function resultFormater(strWhoisResultString, strResultsStart, strResultsEnd) 'Dimension variables Dim lngResultsStartPos Dim lngResultsEndPos 'Find the start position in the returned data of the result lngResultsStartPos = InStr(1, strWhoisResultString, strResultsStart, 1) + Len(strResultsStart) 'Find the end position in the returned data of the result lngResultsEndPos = InStr(lngResultsStartPos, strWhoisResultString, strResultsEnd, 1) 'Make sure the end position is not in error If lngResultsEndPos - lngResultsStartPos =< Len(strResultsStart) Then lngResultsEndPos = lngResultsStartPos + Len(strResultsStart) 'Now we know the start and end position of the result, strip the rest and return the result resultFormater = Trim(Mid(strWhoisResultString, lngResultsStartPos, (lngResultsEndPos - lngResultsStartPos))) End Function 'Function to strip non alphanumeric characters Private Function characterStrip(strTextInput) 'Dimension variable Dim intLoopCounter 'Holds the loop counter 'Loop through the ASCII characters up to - hyphen For intLoopCounter = 0 to 44 strTextInput = Replace(strTextInput, CHR(intLoopCounter), "", 1, -1, 0) Next 'Loop through the ASCII characters from hyphen to numeric charcaters For intLoopCounter = 46 to 47 strTextInput = Replace(strTextInput, CHR(intLoopCounter), "", 1, -1, 0) Next 'Loop through the ASCII characters numeric characters to lower-case characters For intLoopCounter = 58 to 96 strTextInput = Replace(strTextInput, CHR(intLoopCounter), "", 1, -1, 0) Next 'Loop through the extended ASCII characters For intLoopCounter = 123 to 255 strTextInput = Replace(strTextInput, CHR(intLoopCounter), "", 1, -1, 0) Next 'Return the string characterStrip = strTextInput End Function 'Dimension variables Dim strDomainName 'Holds the domain name to search for Dim strSuffix 'Holds the domain name suffix to search 'Read in the domain name to search 'If a domain name has been entred then strip any unwanted characters from it If strDomainName <> "" Then 'Convert the domain name to check to lower case strDomainName = LCase(strDomainName) 'Remove www and http from in front strDomainName = Replace(strDomainName, "http://", "", 1, -1, 1) strDomainName = Replace(strDomainName, "www.", "", 1, -1, 1) 'Remove suffixes strDomainName = Replace(strDomainName, ".com", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".net", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".org", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".info", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".biz", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".tv", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".name", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".co.uk", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".org.uk", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".ltd.uk", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".plc.uk", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".net.uk", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".me.uk", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".pn.uk", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".com.mx", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".net.mx", "", 1, -1, 1) strDomainName = Replace(strDomainName, ".org.mx", "", 1, -1, 1) 'Remove any hyphens from the first and last characters If Left(strDomainName, 1) = "-" Then strDomainName = Mid(strDomainName, 2, Len(strDomainName)) If Right(strDomainName, 1) = "-" Then strDomainName = Mid(strDomainName, 1, Len(strDomainName)-1) 'Remove any hyphens double hyphens strDomainName = Replace(strDomainName, "--", "-", 1, -1, 1) 'Strip all non aphanumeric characters from the input strDomainName = characterStrip(strDomainName) End If 'If a domain name is enterd check it If strDomainName <> "" Then Response.Write("<pre>") 'Display the avialbility Response.Write("<b>Resultados de la busqueda de<br> www." & strDomainName & strSuffix & "</b><br><br>") 'Call the domain checking function depending on domain suffix If strSuffix = ".com" Then Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".com&type=domain", "GET", "<pre>", "</pre>")) 'check for .net ElseIf strSuffix = ".net" Then Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".net&type=domain", "GET", "<pre>", "</pre>")) 'Check for .org ElseIf strSuffix = ".org" Then Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".org&type=domain", "GET", "<pre>", "</pre>")) 'Check for .biz ElseIf strSuffix = ".biz" Then Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".biz&type=domain", "GET", "<pre>", "</pre>")) 'Check for .info ElseIf strSuffix = ".info" Then Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" & strDomainName & ".info&type=domain", "GET", "<pre>", "</pre>")) ElseIf strSuffix = ".com.mx" Then Response.Write(whoisResult("http://www.nic.mx/es/Busqueda.Who_Is_3?domain_name="&strDomainName&"&domain_type=1&template_type=&object_type_1=&object_type_2=&object_type_3=3&text="& strDomainName &"¤t_page=Busqueda.Who_Is_2", "GET", "<pre style=""font-size: 14px; margin-left: 10px;"">", "</pre>")) ElseIf strSuffix = ".net.mx" Then Response.Write(whoisResult("http://www.nic.mx/es/Busqueda.Who_Is_3?domain_name="&strDomainName&"&domain_type=3&template_type=&object_type_1=&object_type_2=&object_type_3=3&text="& strDomainName &"¤t_page=Busqueda.Who_Is_2", "GET", "<pre style=""font-size: 14px; margin-left: 10px;"">", "</pre>")) ElseIf strSuffix = ".org.mx" Then Response.Write(whoisResult("http://www.nic.mx/es/Busqueda.Who_Is_3?domain_name="&strDomainName&"&domain_type=5&template_type=&object_type_1=&object_type_2=&object_type_3=3&text="& strDomainName &"¤t_page=Busqueda.Who_Is_2", "GET", "<pre style=""font-size: 14px; margin-left: 10px;"">", "</pre>")) End If 'Finish the red span tag Response.Write("</pre>") End If %>