Python Glossary English

все Python 3urllib.requestфункция

urllib.request.build_opener()

сборщик обработчиков

Собирает OpenerDirector из стандартных обработчиков и ваших — так настраивают прокси, cookie, авторизацию и заголовки.

Синтаксис

opener = urllib.request.build_opener(handler, ...)

Переданный обработчик заменяет стандартный того же класса или его наследника, а не встаёт рядом; передать можно и класс — он создастся без аргументов. ProxyHandler попадает в набор, только если в окружении есть переменные *_proxy, поэтому одна программа на разных машинах ходит в сеть по-разному; ProxyHandler({}) отключает прокси явно. Результат действует только на opener.open() — urlopen() о нём не знает без install_opener().

Примеры

import urllib.request
opener = urllib.request.build_opener(urllib.request.ProxyHandler({}))
names = [type(h).__name__ for h in opener.handlers]
print('ProxyHandler' in names, 'DataHandler' in names)  # → False True
print(opener.open('data:,hi').read())  # → b'hi'
print(opener.addheaders)  # → ? [('User-agent', 'Python-urllib/3.14')]

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности