List of usage examples for org.apache.commons.net.whois WhoisClient setDefaultTimeout
public void setDefaultTimeout(int timeout)
From source file:examples.unix.fwhois.java
public static void main(String[] args) { int index;// www .j a va2 s .c o m String handle, host; InetAddress address = null; WhoisClient whois; if (args.length != 1) { System.err.println("usage: fwhois handle[@<server>]"); System.exit(1); } index = args[0].lastIndexOf("@"); whois = new WhoisClient(); // We want to timeout if a response takes longer than 60 seconds whois.setDefaultTimeout(60000); if (index == -1) { handle = args[0]; host = WhoisClient.DEFAULT_HOST; } else { handle = args[0].substring(0, index); host = args[0].substring(index + 1); } try { address = InetAddress.getByName(host); System.out.println("[" + address.getHostName() + "]"); } catch (UnknownHostException e) { System.err.println("Error unknown host: " + e.getMessage()); System.exit(1); } try { whois.connect(address); System.out.print(whois.query(handle)); whois.disconnect(); } catch (IOException e) { System.err.println("Error I/O exception: " + e.getMessage()); System.exit(1); } }
From source file:examples.fwhois.java
public static final void main(String[] args) { int index;/*from w w w . j a v a 2 s . com*/ String handle, host; InetAddress address = null; WhoisClient whois; if (args.length != 1) { System.err.println("usage: fwhois handle[@<server>]"); System.exit(1); } index = args[0].lastIndexOf("@"); whois = new WhoisClient(); // We want to timeout if a response takes longer than 60 seconds whois.setDefaultTimeout(60000); if (index == -1) { handle = args[0]; host = WhoisClient.DEFAULT_HOST; } else { handle = args[0].substring(0, index); host = args[0].substring(index + 1); } try { address = InetAddress.getByName(host); } catch (UnknownHostException e) { System.err.println("Error unknown host: " + e.getMessage()); System.exit(1); } System.out.println("[" + address.getHostName() + "]"); try { whois.connect(address); System.out.print(whois.query(handle)); whois.disconnect(); } catch (IOException e) { System.err.println("Error I/O exception: " + e.getMessage()); System.exit(1); } }
From source file:net.spfbl.core.Server.java
/** * Consulta de identificao no WHOIS./* w ww. j a va 2 s. c om*/ * Controla a taxa de 30 consultas no intervalo de 24 horas. * @param query a consulta a ser realizada. * @param server o servidor que contm a informao. * @return o resultado do WHOIS para a consulta. * @throws ProcessException se houver falha no processamento da informao. */ public static String whoisID(String query, String server) throws ProcessException { long time = System.currentTimeMillis(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); try { if (WHOIS_CONNECTION_SEMAPHORE.tryAcquire()) { try { acquireWhoisIDQuery(); WhoisClient whoisClient = new WhoisClient(); try { whoisClient.setDefaultTimeout(3000); whoisClient.connect(server); InputStream inputStream = whoisClient.getInputStream(query); int code; while ((code = inputStream.read()) != -1) { outputStream.write(code); } } finally { whoisClient.disconnect(); } } finally { WHOIS_CONNECTION_SEMAPHORE.release(); } } else { throw new ProcessException("ERROR: TOO MANY CONNECTIONS"); } } catch (ProcessException ex) { throw ex; } catch (Exception ex) { throw new ProcessException("ERROR: WHOIS CONNECTION FAIL", ex); } try { String result = outputStream.toString("ISO-8859-1"); logWhois(time, server, query, result); return result; } catch (UnsupportedEncodingException ex) { throw new ProcessException("ERROR: ENCODING", ex); } }
From source file:net.spfbl.core.Server.java
/** * Consulta comum no WHOIS.// w w w . j a va 2 s .c om * Controla a taxa de 30 consultas no intervalo de 5 minutos. * @param query a consulta a ser realizada. * @param server o servidor que contm a informao. * @return o resultado do WHOIS para a consulta. * @throws ProcessException se houver falha no processamento da informao. */ public static String whois(String query, String server) throws ProcessException { long time = System.currentTimeMillis(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); try { if (WHOIS_CONNECTION_SEMAPHORE.tryAcquire()) { try { acquireWhoisQuery(); WhoisClient whoisClient = new WhoisClient(); try { whoisClient.setDefaultTimeout(3000); whoisClient.connect(server); InputStream inputStream = whoisClient.getInputStream(query); try { int code; while ((code = inputStream.read()) != -1) { outputStream.write(code); } } finally { inputStream.close(); } } finally { whoisClient.disconnect(); } } finally { WHOIS_CONNECTION_SEMAPHORE.release(); } } else { throw new ProcessException("ERROR: TOO MANY CONNECTIONS"); } } catch (ProcessException ex) { throw ex; } catch (Exception ex) { throw new ProcessException("ERROR: WHOIS CONNECTION FAIL", ex); } try { String result = outputStream.toString("ISO-8859-1"); result = result.replace("\r", ""); logWhois(time, server, query, result); return result; } catch (UnsupportedEncodingException ex) { throw new ProcessException("ERROR: ENCODING", ex); } }
From source file:org.apache.common.net.examples.unix.fwhois.java
public static final void main(String[] args) { int index;/* w ww . j a v a2 s. c om*/ String handle, host; InetAddress address = null; WhoisClient whois; if (args.length != 1) { System.err.println("usage: fwhois handle[@<server>]"); System.exit(1); } index = args[0].lastIndexOf("@"); whois = new WhoisClient(); // We want to timeout if a response takes longer than 60 seconds whois.setDefaultTimeout(60000); if (index == -1) { handle = args[0]; host = WhoisClient.DEFAULT_HOST; } else { handle = args[0].substring(0, index); host = args[0].substring(index + 1); } try { address = InetAddress.getByName(host); System.out.println("[" + address.getHostName() + "]"); } catch (UnknownHostException e) { System.err.println("Error unknown host: " + e.getMessage()); System.exit(1); } try { whois.connect(address); System.out.print(whois.query(handle)); whois.disconnect(); } catch (IOException e) { System.err.println("Error I/O exception: " + e.getMessage()); System.exit(1); } }
From source file:org.apache.commons.net.examples.unix.fwhois.java
public static void main(String[] args) { int index;/*w ww.j av a 2 s . c om*/ String handle, host; InetAddress address = null; WhoisClient whois; if (args.length != 1) { System.err.println("usage: fwhois handle[@<server>]"); System.exit(1); } index = args[0].lastIndexOf('@'); whois = new WhoisClient(); // We want to timeout if a response takes longer than 60 seconds whois.setDefaultTimeout(60000); if (index == -1) { handle = args[0]; host = WhoisClient.DEFAULT_HOST; } else { handle = args[0].substring(0, index); host = args[0].substring(index + 1); } try { address = InetAddress.getByName(host); System.out.println("[" + address.getHostName() + "]"); } catch (UnknownHostException e) { System.err.println("Error unknown host: " + e.getMessage()); System.exit(1); } try { whois.connect(address); System.out.print(whois.query(handle)); whois.disconnect(); } catch (IOException e) { System.err.println("Error I/O exception: " + e.getMessage()); System.exit(1); } }
From source file:org.archive.modules.fetcher.FetchWhois.java
protected void fetch(CrawlURI curi, String whoisServer, String whoisQuery) { WhoisClient client = new WhoisClient(); Recorder recorder = curi.getRecorder(); try {/*from w ww. ja va 2 s.co m*/ client.setConnectTimeout(getSoTimeoutMs()); client.setDefaultTimeout(getSoTimeoutMs()); if (curi.getUURI().getPort() > 0) { client.connect(whoisServer, curi.getUURI().getPort()); } else { client.connect(whoisServer); } client.setSoTimeout(getSoTimeoutMs()); // must be after connect() curi.getData().put(CoreAttributeConstants.A_WHOIS_SERVER_IP, client.getRemoteAddress().getHostAddress()); recorder.inputWrap(client.getInputStream(whoisQuery)); // look for info about whois server in the response // XXX run regex on the whole thing, rather than line by line? BufferedReader reader = new BufferedReader(new InputStreamReader(recorder.getRecordedInput(), "ASCII")); for (String line = reader.readLine(); line != null; line = reader.readLine()) { Matcher matcher = TextUtils.getMatcher(WHOIS_SERVER_REGEX, line); if (matcher.find()) { // gets rid of "domain " for whois.verisign-grs.com queries String key = whoisQuery.replaceFirst("(\\S+\\s+)+", "").toLowerCase(); referralServers.put(key, matcher.group(1).toLowerCase()); if (logger.isLoggable(Level.FINE)) { logger.fine("added referral server " + matcher.group(1) + " to server list for " + key); } } } curi.setContentType("text/plain"); curi.setFetchStatus(S_WHOIS_SUCCESS); } catch (IOException e) { if (logger.isLoggable(Level.FINE)) { logger.fine("failed to connect to whois server for uri " + curi + ": " + e); } curi.getNonFatalFailures().add(e); curi.setFetchStatus(S_CONNECT_FAILED); } finally { recorder.close(); curi.setContentSize(recorder.getRecordedInput().getSize()); logger.fine(curi + ": " + recorder.getRecordedInput().getSize() + " bytes read"); if (client != null && client.isConnected()) try { client.disconnect(); } catch (IOException e) { logger.fine("problem closing connection to whois server for uri " + curi + ": " + e); } urlProgress.put(curi.toString(), UrlStatus.DONE.ordinal()); } }