Python Glossary English

все Python 3urllib.requestпонятие

urllib.request.Request

открытие URL

Описание HTTP-запроса: адрес, тело, заголовки и метод. Передаётся в urlopen(), когда простого URL мало.

Синтаксис

urllib.request.Request(url, data=None, headers={}, method=None)

Метод выбирается сам: без data — GET, с data — POST, остальные задают через method='PUT'. data обязана быть bytes: строка даёт TypeError уже при отправке. Имена заголовков хранятся через str.capitalize(): 'user-agent' превращается в 'User-agent', и get_header('User-Agent') вернёт None. Создание Request в сеть не ходит — запрос уходит только в urlopen().

Примеры

import urllib.parse, urllib.request
data = urllib.parse.urlencode({'q': 'python'}).encode('ascii')
req = urllib.request.Request('http://example.com/search', data=data,
                             headers={'user-agent': 'demo'})
print(req.get_method(), req.host, req.selector)  # → POST example.com /search
print(req.header_items())  # → [('User-agent', 'demo')]
print(req.get_header('User-Agent'), req.get_header('User-agent'))  # → None demo
import urllib.request
req = urllib.request.Request('http://example.com/item/1', method='DELETE')
print(req.get_method(), req.full_url)  # → DELETE http://example.com/item/1

См. также

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