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

Метод get_data

Метод get_data применяется к объекту запроса request в Flask и возвращает тело HTTP-запроса в виде байтовой строки. Первым параметром можно передать флаг cache, который указывает, нужно ли кэшировать прочитанные данные (по умолчанию True). Вторым параметром передаётся as_text - если установить True, метод вернёт строку вместо байтов. Третьим параметром идёт parse_form_data, который определяет, нужно ли разбирать данные формы (по умолчанию False).

Метод полезен, когда нужно получить именно сырое тело запроса, например при работе с нестандартными форматами данных, вебхуками или при отладке.

Синтаксис

request.get_data(cache=True, as_text=False, parse_form_data=False)

Пример

Давайте создадим приложение, которое принимает POST-запрос и возвращает его тело в виде строки:

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

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

abcde

Пример

Давайте посмотрим, как выглядит результат без параметра as_text - метод вернёт байты:

from flask import Flask, request app = Flask(__name__) @app.route('/raw', methods=['POST']) def raw(): data = request.get_data() return str(data)

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

b'abcde'

Пример

Давайте отключим кэширование данных, чтобы прочитать тело запроса повторно:

from flask import Flask, request app = Flask(__name__) @app.route('/nocache', methods=['POST']) def nocache(): first = request.get_data(cache=False, as_text=True) second = request.get_data(cache=False, as_text=True) return first + ' ' + second

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

user user

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

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