\chapter{Internet and WWW Services} \nodename{Internet and WWW} \label{www} \index{WWW} \index{Internet} \index{World-Wide Web} The modules described in this chapter provide various services to World-Wide Web (WWW) clients and/or services, and a few modules related to news and email. They are all implemented in Python. Some of these modules require the presence of the system-dependent module \code{sockets}\refbimodindex{socket}, which is currently only fully supported on \UNIX{} and Windows NT. Here is an overview: \begin{description} \item[cgi] --- Common Gateway Interface, used to interpret forms in server-side scripts. \item[urllib] --- Open an arbitrary object given by URL (requires sockets). \item[httplib] --- HTTP protocol client (requires sockets). \item[ftplib] --- FTP protocol client (requires sockets). \item[gopherlib] --- Gopher protocol client (requires sockets). \item[poplib] --- POP3 protocol client (requires sockets). \item[imaplib] --- IMAP4 protocol client (requires sockets). \item[nntplib] --- NNTP protocol client (requires sockets). \item[urlparse] --- Parse a URL string into a tuple (addressing scheme identifier, network location, path, parameters, query string, fragment identifier). \item[sgmllib] --- Only as much of an SGML parser as needed to parse HTML. \item[htmllib] --- A parser for HTML documents. \item[xmllib] --- A parser for XML documents. \item[formatter] --- Generic output formatter and device interface. \item[rfc822] --- Parse \rfc{822} style mail headers. \item[mimetools] --- Tools for parsing MIME style message bodies. \item[binhex] --- Encode and decode files in binhex4 format. \item[uu] --- Encode and decode files in uuencode format. \item[binascii] --- Tools for converting between binary and various ascii-encoded binary representation \item[xdrlib] --- The External Data Representation Standard as described in \rfc{1014}, written by Sun Microsystems, Inc. June 1987. \item[mailcap] --- Mailcap file handling. See \rfc{1524}. \item[base64] --- Encode/decode binary files using the MIME base64 encoding. \item[quopri] --- Encode/decode binary files using the MIME quoted-printable encoding. \item[SocketServer] --- A framework for network servers. \item[mailbox] --- Read various mailbox formats. \item[mimify] --- Mimification and unmimification of mail messages. \item[BaseHTTPServer] --- Basic HTTP server (base class for SimpleHTTPServer and CGIHTTPServer). \end{description}