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

Атрибут headers класса TestClient

Атрибут headers применяется к экземпляру класса TestClient и представляет собой словарь заголовков. Эти заголовки автоматически подставляются в каждый HTTP-запрос, который выполняет клиент. Это удобно, когда нужно задать общие заголовки, например Authorization или User-Agent, и не повторять их при каждом вызове метода.

Значением атрибута является обычный словарь Python, где ключи - имена заголовков, а значения - их содержимое. Атрибут можно изменять напрямую, добавляя или удаляя отдельные заголовки.

Синтаксис

client.headers

Пример

Давайте создадим приложение FastAPI и тестовый клиент, у которого задан заголовок User-Agent:

from fastapi import FastAPI from fastapi.testclient import TestClient app = FastAPI() @app.get('/') def index(): return {'text': 'hello'} client = TestClient(app) client.headers['User-Agent'] = 'abcde' res = client.get('/') print(res.request.headers['User-Agent'])

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

"abcde"

Пример

Давайте добавим заголовок авторизации и проверим, что сервер его получает через объект Request:

from fastapi import FastAPI, Request from fastapi.testclient import TestClient app = FastAPI() @app.get('/') def index(request: Request): token = request.headers.get('Authorization') return {'token': token} client = TestClient(app) client.headers['Authorization'] = 'Bearer abcde' res = client.get('/') print(res.json())

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

{'token': 'Bearer abcde'}

Пример

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

from fastapi import FastAPI, Request from fastapi.testclient import TestClient app = FastAPI() @app.get('/') def index(request: Request): return { 'user_agent': request.headers.get('User-Agent'), 'accept': request.headers.get('Accept') } client = TestClient(app) client.headers['User-Agent'] = 'abcde' client.headers['Accept'] = 'application/json' res = client.get('/') print(res.json())

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

{'user_agent': 'abcde', 'accept': 'application/json'}

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

  • класс TestClient,
    который используется для тестирования приложений FastAPI
  • атрибут cookies,
    который задаёт куки по умолчанию для запросов
  • атрибут app,
    который хранит тестируемое приложение FastAPI
  • метод get,
    который выполняет GET-запрос к приложению
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить