Атрибут headers
Атрибут headers применяется к объекту request
и возвращает словареподобный объект, содержащий все
HTTP-заголовки текущего запроса. Заголовки можно читать
по имени через квадратные скобки или методом get.
Имена заголовков не чувствительны к регистру.
Синтаксис
request.headers
request.headers['Header-Name']
request.headers.get('Header-Name')
Пример
Давайте прочитаем заголовок User-Agent из запроса:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
return request.headers.get('User-Agent')
Результат выполнения кода:
"Mozilla/5.0"
Пример
Давайте прочитаем сразу несколько заголовков и вернём их словарём:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
res = {
'host': request.headers.get('Host'),
'type': request.headers.get('Content-Type')
}
return res
Результат выполнения кода:
{'host': 'localhost:5000', 'type': 'text/html'}
Пример
Давайте проверим наличие заголовка Authorization
и вернём разные ответы в зависимости от результата:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
if 'Authorization' in request.headers:
return 'user'
return 'guest'
Результат выполнения кода:
"guest"
Смотрите также
-
класс
Request,
который представляет HTTP-запрос -
атрибут
user_agent,
который возвращает заголовок User-Agent -
атрибут
cookies,
который возвращает куки запроса -
атрибут
content_type,
который возвращает тип содержимого запроса