Note: This is not the complete source code--just the main source file.
You can download the full source (with include files) from our sample code archive by clicking on the diskette icons.
<%@ EnableSessionState=False LANGUAGE="VBSCRIPT" %> <% Option explicit Response.Buffer = false %> <!-- '// AspLocateDomain sample script '// '// Demonstrates how to use HexDns to retrieve LOC records '// for a domain (if available) to determine its geographic '// location '// '// For more information on LOC records, go to '// http://www.ckdhr.com/dns-loc/ '// '// Copyright (C) 1999 Hexillion Technologies. All rights reserved. '// --> <!-- #include file="AuxFuncs.asp" --> <!-- #include file="HexDns.asp" --> <html> <head> <title>Hexillion AspLocateDomain sample</title> </head> <body bgcolor="#FFFFFF" text="#000000" vlink="#808080" link="#0000FF"> <% dim oDns, oResponse dim sDomain, sList, lList, aDomains aDomains = Array( "yahoo.com", _ "kei.com", _ "goldenglow.com.au", _ "alink.net", _ "caida.org", _ "fu-berlin.de", _ "ckdhr.com", _ "rc5stats.distributed.net", _ "vrx.net", _ "router.golan.net", _ "config.com", _ "hubert.fukt.hk-r.se" ) '// Create objects set oDns = Server.CreateObject( "HexDns.Connection" ) '// Check for form input, set defaults sDomain = Request( "domain" ) sList = request( "list" ) if isNumeric( sList ) then lList = clng( sList ) end if %> <table cellpadding="5" width="100%"><tr> <td colspan="2" bgcolor="#E1EFFF"><font face="Arial" size="5"><strong>AspLocateDomain sample</strong></font><br> Uses HexDns to retrieve geographic information from LOC records<br> [ <a href="http://www.ckdhr.com/dns-loc/" target="_blank">more info on LOC records</a> ] </td></tr> <tr> <td valign="top" bgcolor="#E1EFFF"> <form name="tcpquery" method="POST" action="<%= request( "SCRIPT_NAME" ) %>"> <table cellpadding="5"> <tr> <td align="right">domain</td> <td><input type="text" name="domain" size="22" value="<%= Server.HtmlEncode( sDomain ) %>"></td> </tr> <tr> <td> </td> <td>or</td> </tr> <tr> <td> </td> <td><select name="list"> <% dim l for l = lbound( aDomains ) to ubound( aDomains ) Response.Write "<option" if l = lList then Response.Write " selected" Response.Write " value=""" & l & """>" & Server.HtmlEncode( aDomains( l ) ) & "</option>" & vbcrlf next %> </select></td> </tr> <tr> <td> </td> <td><input type="submit" value="Go" name="B1"></td> </tr> </table> </form> </td> <td valign="top" bgcolor="#E1EFFF"> <table border="0" cellspacing="0" cellpadding="7"> <tr> <td colspan="2">powered by <b><a href="http://www.hexillion.com/software/" target="_top">HexGadgets</a></b> <br><font size="-1"> <a href="http://www.hexillion.com/samples/view_src.asp?name=AspLocateDomain.asp" target="_blank">view source</a> | <a href="http://www.hexillion.com/samples/" target="_top">download</a> </font></td> </tr> <% WriteLicenseRow "HexDns", oDns %> </table> </td> </tr></table> <p> <% if "POST" = request( "REQUEST_METHOD" ) then '// Determine what to use for query string dim sQuery if len( sDomain ) then sQuery = sDomain else sQuery = aDomains( lList ) end if '// Check for default server if 0 = oDns.RemoteAddr then Response.Write "Could not obtain default server address." else '// Query for records Set oResponse = oDns.Query( sQuery, hexDnsTypeLOC ) '// Check for communication errors if hexDnsErrSuccess <> oDns.Error then Response.Write "DNS query failed: <strong>" & Server.HtmlEncode( GetDnsErrorString( oDns.Error ) ) & "</strong>" '// Check for server errors elseif hexDnsMsgRcodeSuccess <> oResponse.ResponseCode then Response.Write "DNS server returned an error: <strong>" & Server.HtmlEncode( GetMsgRcodeString( oResponse.ResponseCode ) ) & "</strong>" '// Check for returned records elseif 0 = oResponse.AnswerRecords.Count then Response.Write "There are no LOC records available for <strong><tt>" & Server.HtmlEncode( sQuery ) & "</tt></strong>" else '// Display the LOC info and map dim sUrl, sUrl2, oRec, sLat, sLon for each oRec in oResponse.AnswerRecords if hexDnsTypeLOC = oRec.Type then '// Build map URLs sLat = CStr( ConvertLocCoords( oRec.Latitude ) / 3600000 ) sLon = CStr( ConvertLocCoords( oRec.Longitude ) / 3600000 ) sUrl = "/LocMap/LocMap.aspx?" sUrl = sUrl & "lat=" & sLat sUrl = sUrl & "&lon=" & sLon sUrl2 = sUrl & "&zoom=1" Response.Write "<strong><tt>" & Server.HtmlEncode( oRec.Name ) & "</tt></strong> " if sQuery <> oRec.Name then Response.Write "(alias <strong><tt>" & Server.HtmlEncode( sQuery ) & "</tt></strong>) " end if Response.Write "is located at:</p>" & vbcrlf %> <table border="0" cellspacing="0" cellpadding="10"> <tr> <td>Latitude</td> <td align="right"><%= GetCoordString( oRec.Latitude, true ) %></td> <td> </td> </tr> <tr> <td>Longitude</td> <td align="right"><%= GetCoordString( oRec.Longitude, false ) %></td> <td> </td> </tr> <tr> <td>Altitude</td> <td align="right"><%= CStr((oRec.Altitude - 10000000) / 100) %>m</td> <td> </td> </tr> <tr> <td colspan="3" align="center" valign="center"> <img alt="Wide map" src="<%= sUrl %>" border="1" width="384" height="192"> </td> </tr> <tr> <td colspan="3" align="center" valign="center"> <img alt="Zoomed map" src="<%= sUrl2 %>" border="1" width="384" height="192"> </td> </tr> </table> <p> <% exit for end if next set oRec = nothing end if end if end if set oDns = nothing set oResponse = nothing %> </p> </body> </html>