This whois client defaults to the whois.internic.net server
/* Chapter 3 - Simple Protocols Java 2 Network Protocols Black Book by Al Williams Paraglyph Press 2001 */ import java.net.*; import java.io.*; public class Whois { public void whois(String query) throws IOException { whois(query,"whois.internic.net"); } public String whois(String query, String server) throws IOException { Socket sock = new Socket(server,43); int c=0; String outstring=""; OutputStream os = sock.getOutputStream(); InputStream is = sock.getInputStream(); query += "\r\n"; os.write(query.getBytes("iso8859_1")); try { while (c!=-1) { c=is.read(); if (c!=-1) outstring+=(char)c; } } catch (IOException e) {} return outstring; } public static void main(String[] args) { String hostname = ""; String ulist = ""; if (args.length==0) { System.out.println("usage: whois [%host] query"); System.exit(1); } int argn=0; hostname="whois.networksolutions.com"; // default if (args.length>1 && args[0].charAt(0)=='%') { hostname=args[argn].substring(1); argn++; } for (int i=argn; i<args.length; i++) ulist+=args[i]+" "; Whois worker = new Whois(); try { System.out.println(worker.whois(ulist.trim(),hostname)); } catch (Exception e) { System.out.println(e); } } }
1. | Use Socket to read from whois.internic.net | ||
2. | Multicast Client | ||
3. | This finger client allows you to query a remote host. |