Отправка cookies aiphttp

Рейтинг: 0Ответов: 1Опубликовано: 28.07.2023

Подскажите, пожалуйста. Что я делаю не так. уже 3 дня голову ломаю, не могу понять почему кукисы не отправляются.

Перешёл на fastAPI. Проверил это дело через обычный request. Принимает, отправляет. Но с aiohttp ну никак.

Пример из документации с доработками.

async def main():
    cookies = {"cookie1": "value1", "cookie2": "value2"}
    async with ClientSession(cookies=cookies) as session:
        response = await session.post(f"{HOST}/user/register")
        print(await response.text())

if __name__ == '__main__':
    asyncio.run(main())

сервер:

@router.post("/register", tags=['register'])
async def reg(r: str | None = Cookie(default=None)):
    return r

Ответы

▲ 0

Клиент сделан правильно, куки будут отправляться, а вот сервер сконфигурирован не правильно.

Рабочий вариант:

@router.post("/register", tags=['register'])
async def reg(
    cookie1: str | None = Cookie(default=None),
    cookie2: str | None = Cookie(default=None),
):
    return {"cookie1": cookie1, "cookie2": cookie2}

Обратите внимание на имена аргументов. Они должны быть таким же, как Вы отправляете. В вашем случае Вы отправляли cookie1, cookie2, а получали r.