Other Client-Side Tools
So far in this chapter, we have focused on Python’s FTP and
email processing tools and have met a handful of client-side
scripting modules along the way: ftplib
,
poplib
, smtplib
,
mhlib
, mimetools
,
urllib
, rfc822
, and so on. This
set is representative of Python’s library tools for
transferring and processing information over the Internet, but
it’s not at all complete. A more or less comprehensive list of
Python’s Internet-related modules appears at the start of the
previous chapter. Among other things, Python also includes
client-side support libraries for Internet news, Telnet, HTTP, and
other standard protocols.
NNTP: Accessing Newsgroups
Python’s nntplib
module supports the client-side interface to
NNTP -- the Network News Transfer
Protocol -- which is used for reading and posting articles to
Usenet newsgroups in the Internet. Like other protocols, NNTP runs on
top of sockets and merely defines a standard message protocol; like
other modules, nntplib
hides most of the protocol
details and presents an object-based interface to Python scripts.
We won’t get into protocol details here, but in brief, NNTP servers store a range of articles on the server machine, usually in a flat-file database. If you have the domain or IP name of a server machine that runs an NNTP server program listening on the NNTP port, you can write scripts that fetch or post articles from any machine that has Python and an Internet connection. For instance, the script in Example 11-24 ...
Get Programming Python, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.