'===========================================================================
' Subject: WHOIS V1.0 - GET DOMAIN INFO       Date: 06-01-99 (15:43)       
'  Author: Dave Navarro, Jr.                  Code: PBCC                   
'  Origin: dave@powerbasic.com              Packet: PBCC.ABC
'===========================================================================
'==============================================================================
'
'  WHOIS v1.0 - Get domain information
'  Copyright (c) 1999 PowerBASIC, Inc. All Rights Reserved.
'
'  RFC 954 (www.cis.ohio-state.edu/htbin/rfc/rfc954.html)
'
'------------------------------------------------------------------------------
'
'  Server                 Domain suffix
'  ---------------------  -----------------------------------------------------
'  rs.internic.net        com, net, org
'  whois.nic.uk           co.uk, org.uk, net.uk, ltd.uk, plc.uk
'  whois.nic.gov          gov
'  whois.nic.mil          mil
'
'  whois.ripe.net         IP addresses
'
'==============================================================================

$database = "rs.internic.net"
%port     = 43

'------------------------------------------------------------------------------

FUNCTION PbMain() AS LONG

  LOCAL buffer AS STRING

  buffer = COMMAND$

  IF LEN(buffer) = 0 THEN
    STDOUT "WHOIS v1.0 - Internic Domain Lookup Utility"
    STDOUT "Copyright (c) 1999 PowerBASIC, Inc."
    STDOUT ""
    STDOUT "Usage: whois name"
    STDOUT ""
    STDOUT "Examp: whois powerbasic.com"
    EXIT FUNCTION
  END IF

  ' Connect to server (timeout after 3 minutes)
  TCP OPEN PORT %port AT $database AS #1 TIMEOUT 180

  IF ERR THEN
    STDERR "Error connecting to " & $database
    EXIT FUNCTION
  ELSE
    TCP PRINT #1, buffer
  END IF

  DO
     TCP RECV #1, 4096, buffer
     STDOUT buffer;
  LOOP WHILE LEN(buffer)

  TCP CLOSE #1

END FUNCTION
