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

Атрибут cookie_jar

Атрибут cookie_jar применяется к экземпляру класса FlaskClient и возвращает объект хранилища cookie. Этот объект позволяет читать, добавлять и удалять cookie, которые клиент отправляет и получает при тестовых запросах. Атрибут особенно полезен при тестировании аутентификации, сессий и другой логики, зависящей от cookie.

Объект cookie_jar поддерживает методы set, get, delete и clear, а также допускает итерацию по всем сохранённым cookie.

Синтаксис

client.cookie_jar

Пример

Давайте создадим тестовый клиент и прочитаем cookie, установленный сервером в ответе на запрос:

from flask import Flask, make_response app = Flask(__name__) @app.route('/') def index(): res = make_response('hello') res.set_cookie('user', 'abcde') return res client = app.test_client() client.get('/') for cookie in client.cookie_jar: print(cookie.name, cookie.value)

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

"user abcde"

Пример

Давайте вручную добавим cookie в хранилище клиента перед отправкой запроса:

from flask import Flask, request app = Flask(__name__) @app.route('/') def index(): return request.cookies.get('user', 'guest') client = app.test_client() client.cookie_jar.set('user', 'abcde', domain='localhost') res = client.get('/') print(res.get_data(as_text=True))

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

"abcde"

Пример

Давайте удалим cookie из хранилища и убедимся, что сервер его больше не получает:

from flask import Flask, request app = Flask(__name__) @app.route('/') def index(): return request.cookies.get('user', 'guest') client = app.test_client() client.cookie_jar.set('user', 'abcde', domain='localhost') client.cookie_jar.delete('user', domain='localhost') res = client.get('/') print(res.get_data(as_text=True))

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

"guest"

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

  • класс FlaskClient,
    которому принадлежит данный атрибут
  • метод get,
    который выполняет GET-запрос через тестовый клиент
  • метод post,
    который выполняет POST-запрос через тестовый клиент
  • атрибут application,
    который хранит тестируемое приложение Flask
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить