List of usage examples for org.apache.commons.net.nntp NNTPClient NNTPClient
NNTPClient
From source file:org.apache.common.net.examples.nntp.ListNewsgroups.java
public final static void main(String[] args) { if (args.length < 1) { System.err.println("Usage: newsgroups newsserver [pattern]"); return;/*from w w w . j ava 2 s.c o m*/ } NNTPClient client = new NNTPClient(); String pattern = args.length >= 2 ? args[1] : ""; try { client.connect(args[0]); int j = 0; try { for (String s : client.iterateNewsgroupListing(pattern)) { j++; System.out.println(s); } } catch (IOException e1) { e1.printStackTrace(); } System.out.println(j); j = 0; for (NewsgroupInfo n : client.iterateNewsgroups(pattern)) { j++; System.out.println(n.getNewsgroup()); } System.out.println(j); } catch (IOException e) { e.printStackTrace(); } finally { try { if (client.isConnected()) { client.disconnect(); } } catch (IOException e) { System.err.println("Error disconnecting from server."); e.printStackTrace(); System.exit(1); } } }
From source file:org.apache.common.net.examples.nntp.PostMessage.java
public final static void main(String[] args) { String from, subject, newsgroup, filename, server, organization; String references;/* ww w . j av a 2 s. co m*/ BufferedReader stdin; FileReader fileReader = null; SimpleNNTPHeader header; NNTPClient client; if (args.length < 1) { System.err.println("Usage: post newsserver"); System.exit(1); } server = args[0]; stdin = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("From: "); System.out.flush(); from = stdin.readLine(); System.out.print("Subject: "); System.out.flush(); subject = stdin.readLine(); header = new SimpleNNTPHeader(from, subject); System.out.print("Newsgroup: "); System.out.flush(); newsgroup = stdin.readLine(); header.addNewsgroup(newsgroup); while (true) { System.out.print("Additional Newsgroup <Hit enter to end>: "); System.out.flush(); // Of course you don't want to do this because readLine() may be null newsgroup = stdin.readLine().trim(); if (newsgroup.length() == 0) { break; } header.addNewsgroup(newsgroup); } System.out.print("Organization: "); System.out.flush(); organization = stdin.readLine(); System.out.print("References: "); System.out.flush(); references = stdin.readLine(); if (organization != null && organization.length() > 0) { header.addHeaderField("Organization", organization); } if (references != null && references.length() > 0) { header.addHeaderField("References", references); } header.addHeaderField("ProcessExecutorHelper-Newsreader", "NetComponents"); System.out.print("Filename: "); System.out.flush(); filename = stdin.readLine(); try { fileReader = new FileReader(filename); } catch (FileNotFoundException e) { System.err.println("File not found. " + e.getMessage()); System.exit(1); } client = new NNTPClient(); client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); client.connect(server); if (!NNTPReply.isPositiveCompletion(client.getReplyCode())) { client.disconnect(); System.err.println("NNTP server refused connection."); System.exit(1); } if (client.isAllowedToPost()) { Writer writer = client.postArticle(); if (writer != null) { writer.write(header.toString()); Util.copyReader(fileReader, writer); writer.close(); client.completePendingCommand(); } } if (fileReader != null) { fileReader.close(); } client.logout(); client.disconnect(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } }
From source file:org.apache.commons.net.examples.nntp.ArticleReader.java
public static void main(String[] args) throws SocketException, IOException { if (args.length != 2 && args.length != 3 && args.length != 5) { System.out.println(//from w ww. j ava 2 s. co m "Usage: MessageThreading <hostname> <groupname> [<article specifier> [<user> <password>]]"); return; } String hostname = args[0]; String newsgroup = args[1]; // Article specifier can be numeric or Id in form <m.n.o.x@host> String articleSpec = args.length >= 3 ? args[2] : null; NNTPClient client = new NNTPClient(); client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); client.connect(hostname); if (args.length == 5) { // Optional auth String user = args[3]; String password = args[4]; if (!client.authenticate(user, password)) { System.out.println("Authentication failed for user " + user + "!"); System.exit(1); } } NewsgroupInfo group = new NewsgroupInfo(); client.selectNewsgroup(newsgroup, group); BufferedReader brHdr; String line; if (articleSpec != null) { brHdr = (BufferedReader) client.retrieveArticleHeader(articleSpec); } else { long articleNum = group.getLastArticleLong(); brHdr = client.retrieveArticleHeader(articleNum); } if (brHdr != null) { while ((line = brHdr.readLine()) != null) { System.out.println(line); } brHdr.close(); } BufferedReader brBody; if (articleSpec != null) { brBody = (BufferedReader) client.retrieveArticleBody(articleSpec); } else { long articleNum = group.getLastArticleLong(); brBody = client.retrieveArticleBody(articleNum); } if (brBody != null) { while ((line = brBody.readLine()) != null) { System.out.println(line); } brBody.close(); } }
From source file:org.apache.commons.net.examples.nntp.PostMessage.java
public static void main(String[] args) { String from, subject, newsgroup, fileName, server, organization; String references;/*from ww w . ja v a 2 s . c o m*/ BufferedReader stdin; FileReader fileReader = null; SimpleNNTPHeader header; NNTPClient client; if (args.length < 1) { System.err.println("Usage: post newsserver"); System.exit(1); } server = args[0]; stdin = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("From: "); System.out.flush(); from = stdin.readLine(); System.out.print("Subject: "); System.out.flush(); subject = stdin.readLine(); header = new SimpleNNTPHeader(from, subject); System.out.print("Newsgroup: "); System.out.flush(); newsgroup = stdin.readLine(); header.addNewsgroup(newsgroup); while (true) { System.out.print("Additional Newsgroup <Hit enter to end>: "); System.out.flush(); newsgroup = stdin.readLine(); if (newsgroup == null) { break; } newsgroup = newsgroup.trim(); if (newsgroup.length() == 0) { break; } header.addNewsgroup(newsgroup); } System.out.print("Organization: "); System.out.flush(); organization = stdin.readLine(); System.out.print("References: "); System.out.flush(); references = stdin.readLine(); if (organization != null && organization.length() > 0) { header.addHeaderField("Organization", organization); } if (references != null && references.length() > 0) { header.addHeaderField("References", references); } header.addHeaderField("X-Newsreader", "NetComponents"); System.out.print("Filename: "); System.out.flush(); fileName = stdin.readLine(); try { fileReader = new FileReader(fileName); } catch (FileNotFoundException e) { System.err.println("File not found. " + e.getMessage()); System.exit(1); } client = new NNTPClient(); client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); client.connect(server); if (!NNTPReply.isPositiveCompletion(client.getReplyCode())) { client.disconnect(); System.err.println("NNTP server refused connection."); System.exit(1); } if (client.isAllowedToPost()) { Writer writer = client.postArticle(); if (writer != null) { writer.write(header.toString()); Util.copyReader(fileReader, writer); writer.close(); client.completePendingCommand(); } } if (fileReader != null) { fileReader.close(); } client.logout(); client.disconnect(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } }
From source file:org.ossmeter.platform.communicationchannel.nntp.local.NntpUtil.java
public static NNTPClient connectToNntpServer(NntpNewsGroup newsgroup) { NNTPClient client = new NNTPClient(); client.setDefaultPort(newsgroup.getPort()); String serverUrl = newsgroup.getUrl().substring(0, newsgroup.getUrl().lastIndexOf("/")); try {/* ww w.ja va 2 s .c o m*/ client.connect(serverUrl); if (newsgroup.getAuthenticationRequired()) { client.authenticate(newsgroup.getUsername(), newsgroup.getPassword()); } } catch (SocketException e) { // TODO Auto-generated catch block System.err.println("SocketException while connecting to NNTP server: '" + newsgroup.getUrl() + "': " + e.getMessage()); // System.exit(1); } catch (IOException e) { // TODO Auto-generated catch block System.err.println( "IOException while connecting to NNTP server: '" + newsgroup.getUrl() + "': " + e.getMessage()); // System.exit(1); } return client; }
From source file:org.ossmeter.platform.communicationchannel.nntp.NntpUtil.java
public static NNTPClient connectToNntpServer(NntpNewsGroup newsgroup) { NNTPClient client = new NNTPClient(); client.setDefaultPort(newsgroup.getPort()); String serverUrl = newsgroup.getUrl(); if (serverUrl.endsWith("/")) { serverUrl = newsgroup.getUrl().substring(0, newsgroup.getUrl().lastIndexOf("/")); }/* ww w . java2s .com*/ try { client.connect(serverUrl); if (newsgroup.getAuthenticationRequired()) { client.authenticate(newsgroup.getUsername(), newsgroup.getPassword()); } } catch (SocketException e) { // TODO Auto-generated catch block System.err.println("SocketException while connecting to NNTP server: '" + newsgroup.getUrl() + "': " + e.getMessage()); e.printStackTrace(); // System.exit(1); } catch (IOException e) { // TODO Auto-generated catch block System.err.println( "IOException while connecting to NNTP server: '" + newsgroup.getUrl() + "': " + e.getMessage()); e.printStackTrace(); // System.exit(1); } return client; }
From source file:org.rssowl.contrib.internal.nntp.NewsGroupHandler.java
public Pair<IFeed, IConditionalGet> reload(URI link, IProgressMonitor monitor, Map<Object, Object> properties) throws CoreException { IModelFactory factory = Owl.getModelFactory(); /* Create a new empty feed from the existing one */ IFeed feed = factory.createFeed(null, link); /* Retrieve last article pointer */ Integer lastArticleId = getLastArticleId(properties); /* Create a new HttpClient */ NNTPClient client = new NNTPClient(); try {/*from w ww . j a v a2 s. com*/ /* Support early cancellation */ if (monitor.isCanceled()) return null; /* Connect to Server */ if (link.getPort() != -1) client.connect(link.getHost(), link.getPort()); else client.connect(link.getHost()); /* Set Timeout */ setTimeout(client, properties); /* Support early cancellation */ if (monitor.isCanceled()) return null; /* Authentication if provided */ setupAuthentication(link, client); /* Check Authentication Required */ checkAuthenticationRequired(client); /* Support early cancellation */ if (monitor.isCanceled()) return null; /* Enable Reader Mode */ client.sendCommand(MODE_READER); /* Support early cancellation */ if (monitor.isCanceled()) return null; /* Select Newsgroup */ String newsgroup = link.getPath().replace("/", ""); NewsgroupInfo groupInfo = new NewsgroupInfo(); boolean selected = client.selectNewsgroup(newsgroup, groupInfo); /* Check Authentication Required */ checkAuthenticationRequired(client); /* Check Newsgroup Selected */ if (!selected) throwConnectionException("Unable to select Newsgroup", client); /* Support early cancellation */ if (monitor.isCanceled()) return null; /* First reload: Retrieve an initial amount of News */ if (lastArticleId == null) { /* Set Article Pointer to last Article */ int status = client.stat(groupInfo.getLastArticle()); if (status != STATUS_ARTICLE_POINTER_OK) throwConnectionException("Unable to retrieve any News", client); /* Retrieve initial news */ for (int i = 0; i < INITIAL_NEWS && !monitor.isCanceled(); i++) { createNews(client.retrieveArticle(), feed, monitor); /* Goto previous news if provided */ int result = client.last(); if (result != STATUS_ARTICLE_POINTER_OK) break; } } /* Subsequent reload: Set pointer to last retrieved News */ else { /* Set Article Pointer to last retrieved News */ int status = client.stat(lastArticleId); if (status != STATUS_ARTICLE_POINTER_OK) throwConnectionException("Unable to retrieve any News", client); /* Retrieve all the following News */ while (client.next() == STATUS_ARTICLE_POINTER_OK && !monitor.isCanceled()) createNews(client.retrieveArticle(), feed, monitor); } /* Remember last article's ID */ lastArticleId = groupInfo.getLastArticle(); } /* Wrap Exceptions */ catch (IOException e) { throw new ConnectionException(Activator.createErrorStatus(e.getMessage(), e)); } /* Disconnect */ finally { try { if (client.isConnected()) client.disconnect(); } catch (IOException e) { throw new ConnectionException(Activator.createErrorStatus(e.getMessage(), e)); } } /* Create Conditional Get Object */ IConditionalGet conditionalGet = null; if (lastArticleId != null) conditionalGet = factory.createConditionalGet(null, link, String.valueOf(lastArticleId)); return Pair.create(feed, conditionalGet); }