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:
webbrowser— Convenient web-browser controllerwsgiref— WSGI Utilities and Reference Implementationwsgiref.util– WSGI environment utilitieswsgiref.headers– WSGI response header toolswsgiref.simple_server– a simple WSGI HTTP serverwsgiref.validate— WSGI conformance checkerwsgiref.handlers– server/gateway base classesCGIHandlerIISCGIHandlerBaseCGIHandlerSimpleHandlerBaseHandlerrun()_write()_flush()get_stdin()get_stderr()add_cgi_vars()wsgi_multithreadwsgi_multiprocesswsgi_run_onceos_environserver_softwareget_scheme()setup_environ()log_exception()traceback_limiterror_output()error_statuserror_headerserror_bodywsgi_file_wrappersendfile()origin_serverhttp_version
read_environ()
wsgiref.types– WSGI types for static type checking- Examples
urllib— URL handling modulesurllib.request— Extensible library for opening URLsurlopen()install_opener()build_opener()pathname2url()url2pathname()getproxies()RequestOpenerDirectorBaseHandlerHTTPDefaultErrorHandlerHTTPRedirectHandlerHTTPCookieProcessorProxyHandlerHTTPPasswordMgrHTTPPasswordMgrWithDefaultRealmHTTPPasswordMgrWithPriorAuthAbstractBasicAuthHandlerHTTPBasicAuthHandlerProxyBasicAuthHandlerAbstractDigestAuthHandlerHTTPDigestAuthHandlerProxyDigestAuthHandlerHTTPHandlerHTTPSHandlerFileHandlerDataHandlerFTPHandlerCacheFTPHandlerUnknownHandlerHTTPErrorProcessor- Request Objects
- OpenerDirector Objects
- BaseHandler Objects
- HTTPRedirectHandler Objects
- HTTPCookieProcessor Objects
- ProxyHandler Objects
- HTTPPasswordMgr Objects
- HTTPPasswordMgrWithPriorAuth Objects
- AbstractBasicAuthHandler Objects
- HTTPBasicAuthHandler Objects
- ProxyBasicAuthHandler Objects
- AbstractDigestAuthHandler Objects
- HTTPDigestAuthHandler Objects
- ProxyDigestAuthHandler Objects
- HTTPHandler Objects
- HTTPSHandler Objects
- FileHandler Objects
- DataHandler Objects
- FTPHandler Objects
- CacheFTPHandler Objects
- UnknownHandler Objects
- HTTPErrorProcessor Objects
- Examples
- Legacy interface
urllib.requestRestrictions
urllib.response— Response classes used by urlliburllib.parse— Parse URLs into componentsurllib.error— Exception classes raised by urllib.requesturllib.robotparser— Parser for robots.txthttp— HTTP moduleshttp.client— HTTP protocol clientHTTPConnectionHTTPSConnectionHTTPResponseparse_headers()HTTPExceptionNotConnectedInvalidURLUnknownProtocolUnknownTransferEncodingUnimplementedFileModeIncompleteReadImproperConnectionStateCannotSendRequestCannotSendHeaderResponseNotReadyBadStatusLineLineTooLongRemoteDisconnectedHTTP_PORTHTTPS_PORTresponses- HTTPConnection Objects
- HTTPResponse Objects
- Examples
- HTTPMessage Objects
ftplib— FTP protocol clientpoplib— POP3 protocol clientimaplib— IMAP4 protocol clientIMAP4errorabortreadonlyIMAP4_SSLIMAP4_streamInternaldate2tuple()Int2AP()ParseFlags()Time2Internaldate()- IMAP4 Objects
append()authenticate()check()close()copy()create()delete()deleteacl()enable()expunge()fetch()getacl()getannotation()getquota()getquotaroot()list()login()login_cram_md5()logout()lsub()myrights()namespace()noop()open()partial()proxyauth()read()readline()recent()rename()response()search()select()send()setacl()setannotation()setquota()shutdown()socket()sort()starttls()status()store()subscribe()thread()uid()unsubscribe()unselect()xatom()PROTOCOL_VERSIONdebugutf8_enabled
- IMAP4 Example
smtplib— SMTP protocol clientuuid— UUID objects according to RFC 4122SafeUUIDUUIDbytesbytes_lefieldstime_lowtime_midtime_hi_versionclock_seq_hi_variantclock_seq_lownodetimeclock_seqhexinturnvariantversionis_safegetnode()uuid1()uuid3()uuid4()uuid5()NAMESPACE_DNSNAMESPACE_URLNAMESPACE_OIDNAMESPACE_X500RESERVED_NCSRFC_4122RESERVED_MICROSOFTRESERVED_FUTURE- Command-Line Usage
- Example
- Command-Line Example
socketserver— A framework for network serversTCPServerUDPServerUnixStreamServerUnixDatagramServer- Server Creation Notes
- Server Objects
BaseServerfileno()handle_request()serve_forever()service_actions()shutdown()server_close()address_familyRequestHandlerClassserver_addresssocketallow_reuse_addressrequest_queue_sizesocket_typetimeoutfinish_request()get_request()handle_error()handle_timeout()process_request()server_activate()server_bind()verify_request()
- Request Handler Objects
- Examples
http.server— HTTP serversHTTPServerThreadingHTTPServerBaseHTTPRequestHandlerclient_addressserverclose_connectionrequestlinecommandpathrequest_versionheadersrfilewfileserver_versionsys_versionerror_message_formaterror_content_typeprotocol_versionMessageClassresponseshandle()handle_one_request()handle_expect_100()send_error()send_response()send_header()send_response_only()end_headers()flush_headers()log_request()log_error()log_message()version_string()date_time_string()log_date_time_string()address_string()
SimpleHTTPRequestHandlerCGIHTTPRequestHandler- Security Considerations
http.cookies— HTTP state managementhttp.cookiejar— Cookie handling for HTTP clientsLoadErrorCookieJarFileCookieJarCookiePolicyDefaultCookiePolicyCookie- CookieJar and FileCookieJar Objects
- FileCookieJar subclasses and co-operation with web browsers
- CookiePolicy Objects
- DefaultCookiePolicy Objects
blocked_domains()set_blocked_domains()is_blocked()allowed_domains()set_allowed_domains()is_not_allowed()rfc2109_as_netscapestrict_domainstrict_rfc2965_unverifiablestrict_ns_unverifiablestrict_ns_domainstrict_ns_set_initial_dollarstrict_ns_set_pathDomainStrictNoDotsDomainStrictNonDomainDomainRFC2965MatchDomainLiberalDomainStrict
- Cookie Objects
- Examples
xmlrpc— XMLRPC server and client modulesxmlrpc.client— XML-RPC client accessxmlrpc.server— Basic XML-RPC serversipaddress— IPv4/IPv6 manipulation library- Convenience factory functions
- IP Addresses
- IP Network definitions
- Prefix, net mask and host mask
- Network objects
IPv4Networkversionmax_prefixlenis_multicastis_privateis_unspecifiedis_reservedis_loopbackis_link_localnetwork_addressbroadcast_addresshostmasknetmaskwith_prefixlencompressedexplodedwith_netmaskwith_hostmasknum_addressesprefixlenhosts()overlaps()address_exclude()subnets()supernet()subnet_of()supernet_of()compare_networks()
IPv6Networkversionmax_prefixlenis_multicastis_privateis_unspecifiedis_reservedis_loopbackis_link_localnetwork_addressbroadcast_addresshostmasknetmaskwith_prefixlencompressedexplodedwith_netmaskwith_hostmasknum_addressesprefixlenhosts()overlaps()address_exclude()subnets()supernet()subnet_of()supernet_of()compare_networks()is_site_local
- Operators
- Interface objects
- Other Module Level Functions
- Custom Exceptions