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

Атрибут max_content_length

Атрибут max_content_length применяется к объекту запроса request и задаёт максимально допустимый размер тела входящего запроса в байтах. Если размер тела запроса превышает это значение, Flask прерывает обработку и возвращает ответ с кодом состояния 413 (Request Entity Too Large). Значение по умолчанию - None, что означает отсутствие ограничения.

Атрибут удобно задавать через конфигурацию приложения ключом MAX_CONTENT_LENGTH. Тогда значение автоматически применяется ко всем входящим запросам. Атрибут возвращает целое число байт или None.

Синтаксис

request.max_content_length

Пример

Давайте выведем текущее значение атрибута в обработчике:

from flask import Flask, request app = Flask(__name__) @app.route('/') def index(): return str(request.max_content_length)

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

None

Пример

Давайте зададим ограничение через конфигурацию приложения:

from flask import Flask, request app = Flask(__name__) app.config['MAX_CONTENT_LENGTH'] = 1024 @app.route('/') def index(): return str(request.max_content_length)

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

<+html+> 1024 <-html+>

Пример

Давайте отправим данные, превышающие лимит, и получим ошибку:

from flask import Flask, request app = Flask(__name__) app.config['MAX_CONTENT_LENGTH'] = 16 @app.route('/', methods=['POST']) def index(): return request.get_data(as_text=True)

При отправке тела длиной больше 16 байт Flask вернёт ответ с кодом состояния:

<+html+> 413 Request Entity Too Large <-html+>

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

  • класс Request,
    который представляет входящий HTTP-запрос
  • атрибут content_length,
    который возвращает длину тела запроса
  • атрибут content_type,
    который возвращает тип содержимого запроса
  • метод get_data,
    который читает тело запроса как байты
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить