все 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Сообщить о неточности