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