<% Option Explicit %>
<%
'****************************************************************************************
'** Copyright Notice
'**
'** Web Wiz Guide ASP Whois Lookup
'**
'** Copyright 2001-2002 Bruce Corkhill All lefts Reserved.
'**
'** This program is free software; you can modify (at your own risk) any part of it
'** under the terms of the License that accompanies this software and use it both
'** privately and commercially.
'**
'** All Copyright notices must remain in tacked in the scripts and the
'** outputted HTML.
'**
'** You may use parts of this program in your own private work, but you may NOT
'** redistribute, repackage, or sell the whole or any part of this program even
'** if it is modified or reverse engineered in whole or in part without express
'** permission from the author.
'**
'** You may not pass the whole or any part of this application off as your own work.
'**
'** All links to Web Wiz Guide and powered by logo's must remain unchanged and in place
'** and must remain visible when the pages are viewed unless permission is first granted
'** by the Copyright holder.
'**
'** This program is distributed in the hope that it will be useful,
'** but WITHOUT ANY WARRANTY; without even the implied warranty of
'** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR ANY OTHER
'** WARRANTIES WHETHER EXPRESSED OR IMPLIED.
'**
'** You should have received a copy of the License along with this program;
'** if not, write to:- Web Wiz Guide, PO Box 4982, Bournemouth, BH8 8XP, United Kingdom.
'**
'**
'** No official support is available for this program but you may post support questions at: -
'** http://www.webwizguide.info/forum
'**
'** Support questions are NOT answered by e-mail ever!
'**
'** For correspondence or non support questions contact: -
'** [email protected]
'**
'** or at: -
'**
'** Web Wiz Guide, PO Box 4982, Bournemouth, BH8 8XP, United Kingdom
'**
'****************************************************************************************
'Set the response buffer to true
Response.Buffer = False
'Set the script timeout to 90 seconds
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 = "Not Valid - must be at least 3 characters"
'Else if there is an error
ElseIF InStr(1, strWhoisResultString, "Error", vbTextCompare) Then
'Set the return result of the function to Taken
whoisResult = "An Error has occured"
'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
strDomainName = Trim(Request.QueryString("domain"))
strSuffix = Trim(Request.QueryString("suffix"))
'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)
'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
%>
<html>
<head>
<title>Whois Domain Name Checker</title>
<!-- The Web Wiz Guide ASP Whois Domain is written and produced by Bruce Corkhill ©2002
If you want your own ASP Whois Domain Checker then goto http://www.webwizguide.info -->
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000CC" vlink="#0000CC" alink="#FF0000">
<center>
<font size="5"><b><font face="Arial, Helvetica, sans-serif">Whois Lookup</font></b></font><br>
The Whois Lookup will check the availability of domain names in<br>
.com, .net, .biz, info, .org, .co.uk, org.uk, net.uk, plc.uk, ltd.uk, .us</center>
<form strMethod="get" name="frmDomainCheck" action="whois.asp">
<table cellpadding="0" cellspacing="0" width="500" align="center">
<tr>
<td height="66" width="111" align="right" rowspan="3" valign="middle"> </td>
<td height="66" width="31" align="left" rowspan="3" valign="middle"> </td>
<td class="arial" height="4" width="356"> Domain Name Lookup: </td>
</tr>
<tr>
<td class="normal" height="2" width="356">
<input type="TEXT" name="domain" maxlength="35" size="20" value="<% = strDomainName %>">
<select name="suffix">
<option<% If Request.QueryString("suffix") = "" OR Request.QueryString("suffix") = ".co.uk" Then Response.Write(" selected")%>>.co.uk</option>
<option<% If Request.QueryString("suffix") = ".me.uk" Then Response.Write(" selected")%>>.me.uk</option>
<option<% If Request.QueryString("suffix") = ".org.uk" Then Response.Write(" selected")%>>.org.uk</option>
<option<% If Request.QueryString("suffix") = ".net.uk" Then Response.Write(" selected")%>>.net.uk</option>
<option<% If Request.QueryString("suffix") = ".plc.uk" Then Response.Write(" selected")%>>.plc.uk</option>
<option<% If Request.QueryString("suffix") = ".ltd.uk" Then Response.Write(" selected")%>>.ltd.uk</option>
<option<% If Request.QueryString("suffix") = ".com" Then Response.Write(" selected")%>>.com</option>
<option<% If Request.QueryString("suffix") = ".net" Then Response.Write(" selected")%>>.net</option>
<option<% If Request.QueryString("suffix") = ".org" Then Response.Write(" selected")%>>.org</option>
<option<% If Request.QueryString("suffix") = ".biz" Then Response.Write(" selected")%>>.biz</option>
<option<% If Request.QueryString("suffix") = ".info" Then Response.Write(" selected")%>>.info</option>
</select>
<input type="submit" value="Search >>" name="submit">
</td>
</tr>
<tr>
<td class="normal" height="34" width="356" valign="top"> </td>
</tr>
</table>
</form>
<center>
<table width="70%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td>
<%
'If a domain name is enterd check it
If strDomainName <> "" Then
'Display the avialbility
Response.Write("<b>Search results for www." & strDomainName & strSuffix & "</b><pre>")
'Call the domain checking function depending on domain suffix
'Check for .co.uk
If strSuffix = ".co.uk" Then
Response.Write(whoisResult("http://cgi.nic.uk/cgi-bin/whois.cgi?query=" & strDomainName & ".co.uk", "GET", "<pre>", "</pre>"))
'Check for .me.uk
ElseIf strSuffix = ".me.uk" Then
Response.Write(whoisResult("http://cgi.nic.uk/cgi-bin/whois.cgi?query=" & strDomainName & ".me.uk", "GET", "<pre>", "</pre>"))
'Check for .org.uk
ElseIf strSuffix = ".org.uk" Then
Response.Write(whoisResult("http://cgi.nic.uk/cgi-bin/whois.cgi?query=" & strDomainName & ".org.uk", "GET", "<pre>", "</pre>"))
'Check for .net.uk
ElseIf strSuffix = ".net.uk" Then
Response.Write(whoisResult("http://cgi.nic.uk/cgi-bin/whois.cgi?query=" & strDomainName & ".net.uk", "GET", "<pre>", "</pre>"))
'Check for .ltd.uk
ElseIf strSuffix = ".ltd.uk" Then
Response.Write(whoisResult("http://cgi.nic.uk/cgi-bin/whois.cgi?query=" & strDomainName & ".ltd.uk", "GET", "<pre>", "</pre>"))
'Check for .plc.uk
ElseIf strSuffix = ".plc.uk" Then
Response.Write(whoisResult("http://cgi.nic.uk/cgi-bin/whois.cgi?query=" & strDomainName & ".plc.uk", "GET", "<pre>", "</pre>"))
'Check for .com
ElseIf 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>"))
End If
'Finsh the red span tag
Response.Write("</pre>")
End If
%>
</td>
</tr>
</table>
<br>
<br>
<%
'***** START WARNING - REMOVAL OR MODIFICATION OF THIS CODE WILL VIOLATE THE LICENSE AGREEMENT ******
Response.Write("Powered By - <a href=""http://www.webwizguide.info"" target=""_blank"">www.webwizguide.info</a>")
'***** END WARNING - REMOVAL OR MODIFICATION OF THIS CODE WILL VIOLATE THE LICENSE AGREEMENT ******
%>
<br>
<br>
</center>
<br>
</body>
</html>