Каков правильный метод/синтаксис для добавления заголовков в запрос на подключение к веб-сокету с использованием Веб-сокетов Python?
Сервер, к которому я пытаюсь подключиться, требует заголовков в запросе на подключение для аутентификации.
async def connect():
async with websockets.connect("wss://site.com/ws") as websocket:
response = await websocket.recv()
print(response)
# eg. does not work:
async with websockets.connect(f"wss://site.com/ws, header = {headers}") as websocket:
async with websockets.connect(f"wss://site.com/ws, extra_headers:{headers}") as websocket:
Подобный вопрос был задан здесь, но не ответил на суть вопроса: Как отправить «Заголовки» в websocket python
Сначала создайте веб-сокет, используя websockets.connect
.
Затем отправьте заголовок JSON в websocket.send(header)
А затем приступайте к обработке ответов.
Это должно работать:
async def connect():
async with websockets.connect("wss://site.com/ws") as websocket:
await websocket.send(header)
response = await websocket.recv()
print(response)
Согласно документации, вы можете передавать заголовки в extra_headers
параметре connect()
функции. Подробности: https://websockets.readthedocs.io/en/stable/reference/client.html
Таким образом, код должен выглядеть примерно так:
async def connect():
async with websockets.connect("wss://site.com/ws", extra_headers=headers) as websocket:
response = await websocket.recv()
print(response)