<%
'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
%>