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" %> <% '// AspTcpQuery sample script '// '// Demonstrates use of HexTcpQuery and HexLookup '// '// Copyright (C) 1998 Hexillion Technologies. All rights reserved. '// Option explicit Response.Buffer = true %> <!-- #include file="AuxFuncs.asp" --> <html> <head> <title>Hexillion AspTcpQuery sample</title> </head> <body bgcolor="#FFFFFF" text="#000000" vlink="#808080" link="#0000FF"> <% const sUserAgent = "User-Agent: AspTcpQuery sample (http://www.hexillion.com/)" dim oLkup, oTcpq, sServer, sQuery, lService, sServices, l sServices = Array( "whois", "finger", "HTTP", "echo" ) set oLkup = Server.CreateObject( "Hexillion.HexLookup" ) set oTcpq = Server.CreateObject( "Hexillion.HexTcpQuery" ) sServer = Request( "server" ) sQuery = request( "query" ) if IsEmpty( request( "service" ) ) then lService = -1 else lService = CLng( request( "service" ) ) end if if "" = sServer then sServer = "www.yahoo.com" if "" = sQuery and lService < 0 then sQuery = "GET / HTTP/1.0" %> <script language="JavaScript"> <!--hide this script from old browsers // This function provides working default // queries when the user selects a service function InitFields( lService ) { var sServer, sQuery; if( 0 == lService ) { sServer = "whois.networksolutions.com"; sQuery = "yahoo.com"; } else if( 1 == lService ) { sServer = "idsoftware.com"; sQuery = "johnc"; } else if( 2 == lService ) { sServer = "www.yahoo.com"; sQuery = "GET / HTTP/1.0"; } else { sServer = "www.cs.unc.edu"; sQuery = "Text to be echoed"; } window.document.tcpquery.server.value = sServer; window.document.tcpquery.query.value = sQuery; } //--> </script> <table cellpadding="5" width="100%"><tr> <td colspan="2" bgcolor="#E1EFFF"><font face="Arial" size="5"><strong>AspTcpQuery sample</strong></font> </td></tr> <tr> <td valign="top" bgcolor="#E1EFFF"> <form name="tcpquery" method="POST" action="<%= request( "SCRIPT_NAME" ) %>"> <table cellpadding="5"> <tr><td align="right">service</td> <td> <% dim lChecked if lService >= 0 then lChecked = lService else lChecked = 2 '// Default to HTTP end if for l = 0 to 3 if l = lChecked then response.write "<input type=""radio"" value=""" & l & """ checked name=""service"" onClick=""InitFields( " & l & " )"">" else response.write "<input type=""radio"" value=""" & l & """ name=""service"" onClick=""InitFields( " & l & " )"">" end if response.write sServices( l ) & " " next %> <tr><td align="right">server</td> <td><input type="text" name="server" size=27 value="<%= Server.HtmlEncode( sServer ) %>"></td></tr> <tr><td align="right">query</td> <td><input type="text" name="query" size="27" value="<%= Server.HtmlEncode( sQuery ) %>"> <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=AspTcpQuery.asp" target="_blank">view source</a> | <a href="http://www.hexillion.com/samples/" target="_top">download</a> </font></td> </tr> <% WriteLicenseRow "HexTcpQuery", oTcpq WriteLicenseRow "HexLookup", oLkup %> </table> </td> </tr></table> <% if 0 <= lService and "" <> sServer then Dim lAddr, sResponse, vResponse Response.Flush '// Look up remote server IP address lAddr = oLkup.LookUp( sServer ) if 0 = lAddr then Response.Write( "<p>Lookup of " & Server.HtmlEncode( sServer ) & " failed.</p>" ) else response.write "<p>Querying <tt><strong>" & Server.HtmlEncode( sServer ) & " [" & oLkup.AddrToString( lAddr ) & "]</strong></tt>...</p>" response.Flush oTcpq.RemoteAddr = lAddr oTcpq.Timeout = 20000 '// Set port and do query according to service selection select case lService case 0 oTcpq.RemotePort = hexTcpqPortWhois sResponse = oTcpq.Query( sQuery & vbcrlf ) case 1 oTcpq.RemotePort = hexTcpqPortFinger sResponse = oTcpq.Query( sQuery & vbcrlf ) case 2 oTcpq.RemotePort = hexTcpqPortHttp sResponse = oTcpq.Query( sQuery & vbcrlf & _ sUserAgent & vbcrlf & _ "Host: " & sServer & vbcrlf & _ vbcrlf ) case else oTcpq.RemotePort = hexTcpqPortEcho sResponse = oTcpq.Query( sQuery ) end select response.write "<p><strong>[begin response]</strong></p>" response.write "<pre>" & Server.HTMLEncode( sResponse ) & "</pre>" response.write "<p><strong>[end response]</strong></p>" if hexTcpqErrSuccess <> oTcpq.Error then response.write "<p>" & Server.HtmlEncode( GetTcpqErrorString( oTcpq.Error ) ) & "</p>" end if end If end if %> </body> </html>