从 Python 客户端发送 Websockets 连接请求中的标头

问题描述 投票:0回答:2

使用 Python Websockets 向 Websocket 连接请求添加标头的正确方法/语法是什么?

我尝试连接的服务器需要连接请求中的标头进行身份验证

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:

这里提出了类似的问题,但没有回答问题的核心:How to send 'Headers' in websocket python

python websocket header
2个回答
8
投票

根据文档,您可以在

extra_headers
函数的
connect()
参数中传递标头。 详情请看这里

所以代码应该如下所示:

async def connect():
    async with websockets.connect("wss://site.com/ws", extra_headers=headers) as websocket:
        response = await websocket.recv()
        print(response)

-2
投票

首先使用

websockets.connect
创建一个 websocket。
然后在
websocket.send(header)

中发送 JSON 标头 然后开始处理响应。

这应该有效:

async def connect():
    async with websockets.connect("wss://site.com/ws") as websocket:
        await websocket.send(header)
        response = await websocket.recv()
        print(response)
© www.soinside.com 2019 - 2024. All rights reserved.