все Python 3urllib.requestпонятие
urllib.request.OpenerDirector
сборщик обработчиков
Диспетчер, который стоит за urlopen(): хранит цепочку обработчиков и по схеме URL решает, кто откроет запрос.
Синтаксис
opener = urllib.request.OpenerDirector(); opener.add_handler(handler)
Для каждого запроса он вызывает методы обработчиков <схема>_request, <схема>_open и <схема>_response. Создавать его напрямую почти никогда не нужно: пустой OpenerDirector() не знает ни одной схемы и на необработанный URL молча возвращает None вместо ошибки. build_opener() добавляет UnknownHandler и стандартные обработчики — берите его.
Примеры
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
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности