Net::NNTP is one of the libnet modules. It provides methods for programming a news client to interface with an NNTP server. Net::NNTP implements the NNTP protocol as defined in RFC 977, as well as a number of extensions defined in the IETF Internet Draft document mentioned earlier.
For example, the following code:
is equivalent to issuing the post command and associated X-headers directly to an NNTP server on port 119.$nntp->post(@message);
To use Net::NNTP, create a new Net::NNTP object:
Once you've created the object, you can use any of the Net::NNTP methods on that object. The Net::NNTP methods generally parallel the functionality of the raw NNTP commands. Your news client can be written to perform many functions, including:use Net::NNTP; $nntp = Net::NNTP->new; # Use default port and options
Authenticating a user to the server
Listing available newsgroups
Retrieving news headers and articles
Extracting headers
Checking for new articles
Posting articles
Listing information such as active messages in a newsgroup, new newsgroups, valid distribution areas, or message IDs of newly arrived messages
Net::NNTP includes methods that implement many of the extensions to RFC 977; the description indicates if a method is an extension. Extensions that are not supported by Net::NNTP are AUTHINFO GENERIC, XINDEX, XSEARCH, and XTHREAD. In addition, some extensions supported by Net::NNTP may not be supported by a particular server.
Unless otherwise stated, all the methods return either true or false to indicate success or failure. If a method returns a value instead, then it returns
undef
or an empty list to indicate failure.
In this list, message-spec refers to a single message ID, a single message number, or a reference to a list of two message numbers. It can also be passed as a list of two message numbers, but this is for compatibility only and is now deprecated.
Where pattern-matching is indicated, the matching is done according to the NNTP specification. See the Net::NNTP documentation for details.