如何在Python中使用autobahn设置websocket会话参数

0 投票
1 回答
1197 浏览
提问于 2025-04-18 01:01

我正在使用autobahn库来在Python中与Node.js服务器建立websocket连接。我需要修改连接的头部和来源参数,但出现了错误,提示如下:

factory.setSessionParameters(url="wss://xyz.com",origin='54:53:ed:29:23:85',protocols=['ovrc-protocol'],useragent=None,headers={'name':'ravi'})
TypeError: setSessionParameters() got an unexpected keyword argument 'headers'

我甚至尝试将这些值保存在变量中,然后把这些变量作为参数传递给setSessionfatory方法。

url= "wss://xyz.com:1443"
headers = { 'Sec-WebSocket-Key':'uRovscZjNol/umbTt5uKmw==' }
origin='50:50:ed:27:21:33' 
protocols=['wxyz-protocol']
useragent=None

factory.setProtocolOptions(version=13,utf8validateIncoming=False)
factory.setSessionParameters(url,origin,protocols,useragent,headers)

但是它返回的错误是说setSessionParameters方法接受5个参数,而我提供了6个参数。

很明显,实际上只有5个参数。我是根据这个链接来了解这个方法的:http://autobahn.ws/python/websocketclient.html,这个链接上有setSessionParameters的详细信息,确实是官方文档,但我用起来完全不管用。

如果可以的话,请给我推荐一个更简单的方法来在Python中建立websocket连接,这样我就可以修改像来源和sec-WebSocket-key值等websocket参数。

谢谢

1 个回答

0

抱歉,我犯了个小错误,使用apt-get安装了一个旧版本的autobahn。我从autobahn官网安装了他们提供的最新版本,问题就解决了 :)

撰写回答