Chapter 18. Client-Side Network Protocol Modules
A
program can work on the Internet as a client
(a
program that accesses resources) or as a server
(a program that makes services available). Both kinds of program deal
with protocol issues, such as how to access and communicate data, and
with data formatting issues. For order and clarity, the Python
library deals with these issues in several different modules. This
book will cover the topics in separate chapters. This chapter deals
with the modules in the Python library that support protocol issues
of client programs.
Nowadays, data access
can often be achieved most simply through Uniform Resource Locators
(URLs). Python supports URLs with modules
urlparse
, urllib
, and
urllib2
. For rarer cases, when you need
fine-grained control of data access protocols normally accessed via
URLs, Python supplies modules httplib
and
ftplib
. Protocols for which URLs are often
insufficient include mail (modules poplib
and
smtplib
), Network News (module
nntplib
), and Telnet (module
telnetlib
). Python also supports the XML-RPC
protocol for distributed computing with module
xmlrpclib
.
URL Access
A URL identifies a resource on the Internet. A URL is a string composed of several optional parts, called components, known as scheme, location, path, query, and fragment. A URL with all its parts looks something like:
scheme://lo.ca.ti.on/pa/th?query#fragment
For example, in http://www.python.org:80/faq.cgi?src=fie, the
scheme is http
, the location ...
Get Python in a Nutshell 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.