org.apache.commons.net.whois

## Class WhoisClient

- java.lang.Object
- - org.apache.commons.net.SocketClient
  - - org.apache.commons.net.finger.FingerClient
    - - org.apache.commons.net.whois.WhoisClient

-     public final class WhoisClient
      extends FingerClient

  The WhoisClient class implements the client side of the Internet Whois Protocol defined in RFC 954. To query a host you create a WhoisClient instance, connect to the host, query the host, and finally disconnect from the host. If the whois service you want to query is on a non-standard port, connect to the host at that port. Here's a sample use:

       WhoisClient whois;

       whois = new WhoisClient();

       try {
           whois.connect(WhoisClient.DEFAULT_HOST);
           System.out.println(whois.query("foobar"));
           whois.disconnect();
       } catch (IOException e) {
           System.err.println("Error I/O exception: " + e.getMessage());
           return;
       }

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_HOST` The default whois host to query.
    `static int` | `DEFAULT_PORT` The default whois port.

    - ### Fields inherited from class org.apache.commons.net.SocketClient

      `_defaultPort_, _hostname_, _input_, _output_, _serverSocketFactory_, _socket_, _socketFactory_, _timeout_, connectTimeout, NETASCII_EOL, remoteInetSocketAddress`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WhoisClient()` The default whois constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `InputStream` | `getInputStream(String handle)` Queries the connected whois server for information regarding the given handle and returns the InputStream of the network connection.
    `String` | `query(String handle)` Queries the connected whois server for information regarding the given handle.

    - ### Methods inherited from class org.apache.commons.net.finger.FingerClient

      `getInputStream, getInputStream, getInputStream, query, query`

    - ### Methods inherited from class org.apache.commons.net.SocketClient

      `_connectAction_, addProtocolCommandListener, applySocketAttributes, checkOpenOutputStream, connect, connect, connect, connect, connect, connect, createCommandSupport, disconnect, fireCommandSent, fireReplyReceived, getCharset, getCommandSupport, getConnectTimeout, getDefaultPort, getDefaultTimeout, getHostAddress, getHostAddress, getKeepAlive, getLocalAddress, getLocalPort, getProxy, getReceiveBufferSize, getRemoteAddress, getRemoteInetSocketAddress, getRemotePort, getSendBufferSize, getServerSocketFactory, getSoLinger, getSoTimeout, getTcpNoDelay, isAvailable, isConnected, removeProtocolCommandListener, setCharset, setConnectTimeout, setDefaultPort, setDefaultTimeout, setKeepAlive, setProxy, setReceiveBufferSize, setSendBufferSize, setServerSocketFactory, setSocketFactory, setSoLinger, setSoTimeout, setTcpNoDelay, verifyRemote`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_HOST

          public static final String DEFAULT_HOST

      The default whois host to query. It is set to whois.internic.net.
      See Also:
        Constant Field Values

    - #### DEFAULT_PORT

          public static final int DEFAULT_PORT

      The default whois port. It is set to 43 according to RFC 954.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### WhoisClient

          public WhoisClient()

      The default whois constructor. Initializes the default port to `DEFAULT_PORT`.

  - ### Method Detail

    - #### getInputStream

          public InputStream getInputStream(String handle)
                                     throws IOException

      Queries the connected whois server for information regarding the given handle and returns the InputStream of the network connection. It is up to the programmer to be familiar with the handle syntax of the whois server. You must first connect to a finger server before calling this method, and you should disconnect after finishing reading the stream.
      Parameters:
        `handle` - The handle to lookup.
      Returns:
        The InputStream of the network connection of the whois query. Can be read to obtain whois results.
      Throws:
        `IOException` - If an I/O error occurs during the operation.

    - #### query

          public String query(String handle)
                       throws IOException

      Queries the connected whois server for information regarding the given handle. It is up to the programmer to be familiar with the handle syntax of the whois server. You must first connect to a whois server before calling this method, and you should disconnect afterward.
      Parameters:
        `handle` - The handle to lookup.
      Returns:
        The result of the whois query.
      Throws:
        `IOException` - If an I/O error occurs during the operation.