РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
115 of 643 menu

Атрибут headers

Атрибут headers применяется к объекту ответа Response и возвращает специальный объект, содержащий HTTP-заголовки ответа. Этот объект ведёт себя как словарь: поддерживает чтение, установку, изменение и удаление заголовков по имени. Имена заголовков нечувствительны к регистру.

Атрибут headers особенно полезен, когда нужно добавить собственные заголовки к ответу: например, Content-Type, Cache-Control, X-Custom-Header и другие. Обращаться к заголовкам можно как через квадратные скобки, так и через метод get.

Синтаксис

response.headers response.headers['Header-Name'] response.headers['Header-Name'] = 'value' response.headers.get('Header-Name')

Пример

Давайте создадим ответ и прочитаем его заголовок Content-Type, который Flask устанавливает по умолчанию:

from flask import Flask, make_response app = Flask(__name__) @app.route('/') def index(): res = make_response('hello') return res.headers['Content-Type']

Результат выполнения кода:

text/html; charset=utf-8

Пример

Давайте добавим собственный заголовок к ответу через атрибут headers:

from flask import Flask, make_response app = Flask(__name__) @app.route('/') def index(): res = make_response('hello') res.headers['X-Custom-Header'] = 'abcde' return res

Теперь в ответе появится заголовок X-Custom-Header со значением 'abcde'.

Пример

Давайте изменим сразу несколько заголовков и проверим их наличие через метод get:

from flask import Flask, make_response app = Flask(__name__) @app.route('/') def index(): res = make_response('article') res.headers['Cache-Control'] = 'no-cache' res.headers['X-User'] = 'user' cache = res.headers.get('Cache-Control') missing = res.headers.get('X-Missing') return f'{cache} | {missing}'

Результат выполнения кода:

no-cache | None

Пример

Давайте удалим заголовок из ответа через оператор del:

from flask import Flask, make_response app = Flask(__name__) @app.route('/') def index(): res = make_response('hello') res.headers['X-Temp'] = 'abcde' del res.headers['X-Temp'] return str(res.headers.get('X-Temp'))

Результат выполнения кода:

None

Смотрите также

  • класс Response,
    который представляет HTTP-ответ
  • атрибут status_code,
    который хранит код состояния ответа
  • атрибут content_type,
    который задаёт MIME-тип ответа
  • метод set_cookie,
    который устанавливает cookie в ответе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить