Python 如何在websocket连接中通过steam进行身份验证?

Python 如何在websocket连接中通过steam进行身份验证?,python,websocket,python-asyncio,Python,Websocket,Python Asyncio,我正在尝试自动化与使用WebSocket的网站的交互。理论上,我所需要做的就是使用steam进行身份验证,然后发送一条数据,但我在进行身份验证时遇到了问题。 我设法建立了连接。但在我发送我的steam令牌(复制我在浏览器的devtools中看到的情况)后,它会回复我没有登录 下面是我目前拥有的代码。在本地,它根本不起作用。但是在repl.it(一个在线编辑器)上,它具有它应该具有的效果,但是websocket仍然回答我没有登录 守则: import asyncio import websocke

我正在尝试自动化与使用WebSocket的网站的交互。理论上,我所需要做的就是使用steam进行身份验证,然后发送一条数据,但我在进行身份验证时遇到了问题。
我设法建立了连接。但在我发送我的steam令牌(复制我在浏览器的devtools中看到的情况)后,它会回复我没有登录

下面是我目前拥有的代码。在本地,它根本不起作用。但是在repl.it(一个在线编辑器)上,它具有它应该具有的效果,但是websocket仍然回答我没有登录

守则:

import asyncio
import websockets
import json
import time
import sys

token = "YOUR_STEAM_TOKEN_HERE"

adress = 'wss://eu.pug.champ.gg/socket.io/?EIO=3&transport=websocket'
authtemplate = '42["authenticate",{{"token":{0}}}]'
rolesupdatetemplate = '42["updateAvailability",{0}]'

async def add(roles):
  async with websockets.connect(adress) as websocket:
    await websocket.send(authtemplate.format(token))

    roles_string = json.dumps(roles)
    await websocket.send(rolesupdatetemplate.format(roles_string))


asyncio.get_event_loop().run_until_complete(add({'roles': ['roamer', 'pocket'], 'captain': False})
)

一些额外信息:
正常情况下,与我在代码中使用的参数相比,我根据开发人员工具连接到的websocket有一个额外的参数。额外的参数是:sid=..
但是,手动添加此项会产生错误代码400

我试着查找如何做到这一点,但我在任何地方都找不到答案。我需要发送cookies吗?
我是否需要以其他方式而不是手动获取websocket地址?
我错过了什么