使用 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
根据文档,您可以在
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)
首先使用
websockets.connect
创建一个 websocket。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)