Python Glossary Русский

all Python 3urllib.requestterm

urllib.request.OpenerDirector

openers

The dispatcher behind urlopen(): it keeps a chain of handlers and picks the one that opens a request by its URL scheme.

Syntax

opener = urllib.request.OpenerDirector(); opener.add_handler(handler)

For every request it calls the handlers' <scheme>_request, <scheme>_open and <scheme>_response methods. You almost never create it directly: a bare OpenerDirector() knows no schemes and silently returns None for an unhandled URL instead of raising. build_opener() adds UnknownHandler and the standard handlers — use it instead.

Examples

import urllib.request
bare = urllib.request.OpenerDirector()
bare.add_handler(urllib.request.DataHandler())
print(bare.open('data:,hi').read())  # → b'hi'
print(bare.open('file:///nonexistent'))  # → None

See also

Open in the full glossarydocs.python.orgReport an inaccuracy