20. Internet Protocols and Support¶
The modules described in this chapter implement Internet protocols and support
for related technology. They are all implemented in Python. Most of these
modules require the presence of the system-dependent module socket
, which
is currently supported on most popular platforms. Here is an overview:
- 20.1.
webbrowser
— Convenient Web-browser controller - 20.2.
cgi
— Common Gateway Interface support- 20.2.1. Introduction
- 20.2.2. Using the cgi module
- 20.2.3. Higher Level Interface
- 20.2.4. Old classes
- 20.2.5. Functions
- 20.2.6. Caring about security
- 20.2.7. Installing your CGI script on a Unix system
- 20.2.8. Testing your CGI script
- 20.2.9. Debugging CGI scripts
- 20.2.10. Common problems and solutions
- 20.3.
cgitb
— Traceback manager for CGI scripts - 20.4.
wsgiref
— WSGI Utilities and Reference Implementation- 20.4.1.
wsgiref.util
– WSGI environment utilities - 20.4.2.
wsgiref.headers
– WSGI response header tools - 20.4.3.
wsgiref.simple_server
– a simple WSGI HTTP server - 20.4.4.
wsgiref.validate
— WSGI conformance checker - 20.4.5.
wsgiref.handlers
– server/gateway base classesCGIHandler
BaseCGIHandler
SimpleHandler
BaseHandler
BaseHandler.run()
BaseHandler._write()
BaseHandler._flush()
BaseHandler.get_stdin()
BaseHandler.get_stderr()
BaseHandler.add_cgi_vars()
BaseHandler.wsgi_multithread
BaseHandler.wsgi_multiprocess
BaseHandler.wsgi_run_once
BaseHandler.os_environ
BaseHandler.server_software
BaseHandler.get_scheme()
BaseHandler.setup_environ()
BaseHandler.log_exception()
BaseHandler.traceback_limit
BaseHandler.error_output()
BaseHandler.error_status
BaseHandler.error_headers
BaseHandler.error_body
BaseHandler.wsgi_file_wrapper
BaseHandler.sendfile()
BaseHandler.origin_server
BaseHandler.http_version
- 20.4.6. Examples
- 20.4.1.
- 20.5.
urllib
— Open arbitrary resources by URL - 20.6.
urllib2
— extensible library for opening URLsurlopen()
install_opener()
build_opener()
URLError
HTTPError
Request
OpenerDirector
BaseHandler
HTTPDefaultErrorHandler
HTTPRedirectHandler
HTTPCookieProcessor
ProxyHandler
HTTPPasswordMgr
HTTPPasswordMgrWithDefaultRealm
AbstractBasicAuthHandler
HTTPBasicAuthHandler
ProxyBasicAuthHandler
AbstractDigestAuthHandler
HTTPDigestAuthHandler
ProxyDigestAuthHandler
HTTPHandler
HTTPSHandler
FileHandler
FTPHandler
CacheFTPHandler
UnknownHandler
HTTPErrorProcessor
- 20.6.1. Request Objects
Request.add_data()
Request.get_method()
Request.has_data()
Request.get_data()
Request.add_header()
Request.add_unredirected_header()
Request.has_header()
Request.get_full_url()
Request.get_type()
Request.get_host()
Request.get_selector()
Request.get_header()
Request.header_items()
Request.set_proxy()
Request.get_origin_req_host()
Request.is_unverifiable()
- 20.6.2. OpenerDirector Objects
- 20.6.3. BaseHandler Objects
- 20.6.4. HTTPRedirectHandler Objects
- 20.6.5. HTTPCookieProcessor Objects
- 20.6.6. ProxyHandler Objects
- 20.6.7. HTTPPasswordMgr Objects
- 20.6.8. AbstractBasicAuthHandler Objects
- 20.6.9. HTTPBasicAuthHandler Objects
- 20.6.10. ProxyBasicAuthHandler Objects
- 20.6.11. AbstractDigestAuthHandler Objects
- 20.6.12. HTTPDigestAuthHandler Objects
- 20.6.13. ProxyDigestAuthHandler Objects
- 20.6.14. HTTPHandler Objects
- 20.6.15. HTTPSHandler Objects
- 20.6.16. FileHandler Objects
- 20.6.17. FTPHandler Objects
- 20.6.18. CacheFTPHandler Objects
- 20.6.19. UnknownHandler Objects
- 20.6.20. HTTPErrorProcessor Objects
- 20.6.21. Examples
- 20.7.
httplib
— HTTP protocol clientHTTPConnection
HTTPSConnection
HTTPResponse
HTTPMessage
HTTPException
NotConnected
InvalidURL
UnknownProtocol
UnknownTransferEncoding
UnimplementedFileMode
IncompleteRead
ImproperConnectionState
CannotSendRequest
CannotSendHeader
ResponseNotReady
BadStatusLine
HTTP_PORT
HTTPS_PORT
responses
- 20.7.1. HTTPConnection Objects
- 20.7.2. HTTPResponse Objects
- 20.7.3. Examples
- 20.8.
ftplib
— FTP protocol clientFTP
FTP_TLS
error_reply
error_temp
error_perm
error_proto
all_errors
- 20.8.1. FTP Objects
FTP.set_debuglevel()
FTP.connect()
FTP.getwelcome()
FTP.login()
FTP.abort()
FTP.sendcmd()
FTP.voidcmd()
FTP.retrbinary()
FTP.retrlines()
FTP.set_pasv()
FTP.storbinary()
FTP.storlines()
FTP.transfercmd()
FTP.ntransfercmd()
FTP.nlst()
FTP.dir()
FTP.rename()
FTP.delete()
FTP.cwd()
FTP.mkd()
FTP.pwd()
FTP.rmd()
FTP.size()
FTP.quit()
FTP.close()
- 20.8.2. FTP_TLS Objects
- 20.9.
poplib
— POP3 protocol client - 20.10.
imaplib
— IMAP4 protocol clientIMAP4
IMAP4_SSL
IMAP4_stream
Internaldate2tuple()
Int2AP()
ParseFlags()
Time2Internaldate()
- 20.10.1. IMAP4 Objects
IMAP4.append()
IMAP4.authenticate()
IMAP4.check()
IMAP4.close()
IMAP4.copy()
IMAP4.create()
IMAP4.delete()
IMAP4.deleteacl()
IMAP4.expunge()
IMAP4.fetch()
IMAP4.getacl()
IMAP4.getannotation()
IMAP4.getquota()
IMAP4.getquotaroot()
IMAP4.list()
IMAP4.login()
IMAP4.login_cram_md5()
IMAP4.logout()
IMAP4.lsub()
IMAP4.myrights()
IMAP4.namespace()
IMAP4.noop()
IMAP4.open()
IMAP4.partial()
IMAP4.proxyauth()
IMAP4.read()
IMAP4.readline()
IMAP4.recent()
IMAP4.rename()
IMAP4.response()
IMAP4.search()
IMAP4.select()
IMAP4.send()
IMAP4.setacl()
IMAP4.setannotation()
IMAP4.setquota()
IMAP4.shutdown()
IMAP4.socket()
IMAP4.sort()
IMAP4.status()
IMAP4.store()
IMAP4.subscribe()
IMAP4.thread()
IMAP4.uid()
IMAP4.unsubscribe()
IMAP4.xatom()
IMAP4_SSL.ssl()
IMAP4.PROTOCOL_VERSION
IMAP4.debug
- 20.10.2. IMAP4 Example
- 20.11.
nntplib
— NNTP protocol clientNNTP
NNTPError
NNTPReplyError
NNTPTemporaryError
NNTPPermanentError
NNTPProtocolError
NNTPDataError
- 20.11.1. NNTP Objects
NNTP.getwelcome()
NNTP.set_debuglevel()
NNTP.newgroups()
NNTP.newnews()
NNTP.list()
NNTP.descriptions()
NNTP.description()
NNTP.group()
NNTP.help()
NNTP.stat()
NNTP.next()
NNTP.last()
NNTP.head()
NNTP.body()
NNTP.article()
NNTP.slave()
NNTP.xhdr()
NNTP.post()
NNTP.ihave()
NNTP.date()
NNTP.xgtitle()
NNTP.xover()
NNTP.xpath()
NNTP.quit()
- 20.12.
smtplib
— SMTP protocol client - 20.13.
smtpd
— SMTP Server - 20.14.
telnetlib
— Telnet clientTelnet
- 20.14.1. Telnet Objects
Telnet.read_until()
Telnet.read_all()
Telnet.read_some()
Telnet.read_very_eager()
Telnet.read_eager()
Telnet.read_lazy()
Telnet.read_very_lazy()
Telnet.read_sb_data()
Telnet.open()
Telnet.msg()
Telnet.set_debuglevel()
Telnet.close()
Telnet.get_socket()
Telnet.fileno()
Telnet.write()
Telnet.interact()
Telnet.mt_interact()
Telnet.expect()
Telnet.set_option_negotiation_callback()
- 20.14.2. Telnet Example
- 20.15.
uuid
— UUID objects according to RFC 4122 - 20.16.
urlparse
— Parse URLs into components - 20.17.
SocketServer
— A framework for network serversTCPServer
UDPServer
UnixStreamServer
UnixDatagramServer
- 20.17.1. Server Creation Notes
- 20.17.2. Server Objects
BaseServer
BaseServer.fileno()
BaseServer.handle_request()
BaseServer.serve_forever()
BaseServer.shutdown()
BaseServer.server_close()
BaseServer.address_family
BaseServer.RequestHandlerClass
BaseServer.server_address
BaseServer.socket
BaseServer.allow_reuse_address
BaseServer.request_queue_size
BaseServer.socket_type
BaseServer.timeout
BaseServer.finish_request()
BaseServer.get_request()
BaseServer.handle_error()
BaseServer.handle_timeout()
BaseServer.process_request()
BaseServer.server_activate()
BaseServer.server_bind()
BaseServer.verify_request()
- 20.17.3. Request Handler Objects
- 20.17.4. Examples
- 20.18.
BaseHTTPServer
— Basic HTTP serverHTTPServer
BaseHTTPRequestHandler
BaseHTTPRequestHandler.client_address
BaseHTTPRequestHandler.server
BaseHTTPRequestHandler.command
BaseHTTPRequestHandler.path
BaseHTTPRequestHandler.request_version
BaseHTTPRequestHandler.headers
BaseHTTPRequestHandler.rfile
BaseHTTPRequestHandler.wfile
BaseHTTPRequestHandler.server_version
BaseHTTPRequestHandler.sys_version
BaseHTTPRequestHandler.error_message_format
BaseHTTPRequestHandler.error_content_type
BaseHTTPRequestHandler.protocol_version
BaseHTTPRequestHandler.MessageClass
BaseHTTPRequestHandler.responses
BaseHTTPRequestHandler.handle()
BaseHTTPRequestHandler.handle_one_request()
BaseHTTPRequestHandler.send_error()
BaseHTTPRequestHandler.send_response()
BaseHTTPRequestHandler.send_header()
BaseHTTPRequestHandler.end_headers()
BaseHTTPRequestHandler.log_request()
BaseHTTPRequestHandler.log_error()
BaseHTTPRequestHandler.log_message()
BaseHTTPRequestHandler.version_string()
BaseHTTPRequestHandler.date_time_string()
BaseHTTPRequestHandler.log_date_time_string()
BaseHTTPRequestHandler.address_string()
- 20.18.1. More examples
- 20.19.
SimpleHTTPServer
— Simple HTTP request handler - 20.20.
CGIHTTPServer
— CGI-capable HTTP request handler - 20.21.
cookielib
— Cookie handling for HTTP clientsLoadError
CookieJar
FileCookieJar
CookiePolicy
DefaultCookiePolicy
Cookie
- 20.21.1. CookieJar and FileCookieJar Objects
CookieJar.add_cookie_header()
CookieJar.extract_cookies()
CookieJar.set_policy()
CookieJar.make_cookies()
CookieJar.set_cookie_if_ok()
CookieJar.set_cookie()
CookieJar.clear()
CookieJar.clear_session_cookies()
FileCookieJar.save()
FileCookieJar.load()
FileCookieJar.revert()
FileCookieJar.filename
FileCookieJar.delayload
- 20.21.2. FileCookieJar subclasses and co-operation with web browsers
- 20.21.3. CookiePolicy Objects
- 20.21.4. DefaultCookiePolicy Objects
DefaultCookiePolicy.blocked_domains()
DefaultCookiePolicy.set_blocked_domains()
DefaultCookiePolicy.is_blocked()
DefaultCookiePolicy.allowed_domains()
DefaultCookiePolicy.set_allowed_domains()
DefaultCookiePolicy.is_not_allowed()
DefaultCookiePolicy.rfc2109_as_netscape
DefaultCookiePolicy.strict_domain
DefaultCookiePolicy.strict_rfc2965_unverifiable
DefaultCookiePolicy.strict_ns_unverifiable
DefaultCookiePolicy.strict_ns_domain
DefaultCookiePolicy.strict_ns_set_initial_dollar
DefaultCookiePolicy.strict_ns_set_path
DefaultCookiePolicy.DomainStrictNoDots
DefaultCookiePolicy.DomainStrictNonDomain
DefaultCookiePolicy.DomainRFC2965Match
DefaultCookiePolicy.DomainLiberal
DefaultCookiePolicy.DomainStrict
- 20.21.5. Cookie Objects
Cookie.version
Cookie.name
Cookie.value
Cookie.port
Cookie.path
Cookie.secure
Cookie.expires
Cookie.discard
Cookie.comment
Cookie.comment_url
Cookie.rfc2109
Cookie.port_specified
Cookie.domain_specified
Cookie.domain_initial_dot
Cookie.has_nonstandard_attr()
Cookie.get_nonstandard_attr()
Cookie.set_nonstandard_attr()
Cookie.is_expired()
- 20.21.6. Examples
- 20.22.
Cookie
— HTTP state management - 20.23.
xmlrpclib
— XML-RPC client accessServerProxy
- 20.23.1. ServerProxy Objects
- 20.23.2. Boolean Objects
- 20.23.3. DateTime Objects
- 20.23.4. Binary Objects
- 20.23.5. Fault Objects
- 20.23.6. ProtocolError Objects
- 20.23.7. MultiCall Objects
- 20.23.8. Convenience Functions
- 20.23.9. Example of Client Usage
- 20.23.10. Example of Client and Server Usage
- 20.24.
SimpleXMLRPCServer
— Basic XML-RPC serverSimpleXMLRPCServer
CGIXMLRPCRequestHandler
SimpleXMLRPCRequestHandler
- 20.24.1. SimpleXMLRPCServer Objects
SimpleXMLRPCServer.register_function()
SimpleXMLRPCServer.register_instance()
SimpleXMLRPCServer.register_introspection_functions()
SimpleXMLRPCServer.register_multicall_functions()
SimpleXMLRPCRequestHandler.rpc_paths
SimpleXMLRPCRequestHandler.encode_threshold
- 20.24.1.1. SimpleXMLRPCServer Example
- 20.24.2. CGIXMLRPCRequestHandler
- 20.25.
DocXMLRPCServer
— Self-documenting XML-RPC server