Python 3.x 带有asyncio的高速公路-无法为URL';有路可走
我正在尝试连接到两个WebSocket(WebSocket A和URI)wss://domainA.com 和带有URI的WebSocket Bwss://domainB.com/path)使用在asyncio上运行的Autobahn,如中所述 我创建了一个WebSocketClientProtocol,如下所示:Python 3.x 带有asyncio的高速公路-无法为URL';有路可走,python-3.x,python-asyncio,autobahn,Python 3.x,Python Asyncio,Autobahn,我正在尝试连接到两个WebSocket(WebSocket A和URI)wss://domainA.com 和带有URI的WebSocket Bwss://domainB.com/path)使用在asyncio上运行的Autobahn,如中所述 我创建了一个WebSocketClientProtocol,如下所示: from autobahn.asyncio.websocket import WebSocketClientProtocol class ClientProtocol(WebSoc
from autobahn.asyncio.websocket import WebSocketClientProtocol
class ClientProtocol(WebSocketClientProtocol):
def onConnect(self, response):
print("Connected to Server: {}".format(response.peer))
和am使用异步IO连接连接到WebSocket:
from autobahn.asyncio.websocket import WebSocketClientFactory
import asyncio
factory = WebSocketClientFactory()
factory.protocol = ClientProtocol
loop = asyncio.get_event_loop()
coro = loop.create_connection(factory, 'domainA.com', 80)
loop.run_until_complete(coro)
loop.run_forever()
loop.close()
我可以连接到WebSocket A,但通过将domainA.com
替换为domainB.com/path
连接到WebSocket B会导致错误gaierror:[Errno 8]节点名或服务名已提供,或未知。
我知道WebSocket B正在工作,因为我可以使用不同的库连接到它。另外,将domainB.com/path
替换为domainB.com
会导致连接不干净地关闭(WebSocket连接升级失败(301-永久移动))
是否len(“wss://domainB/path“”
返回您希望它返回的内容?检查您的代码-删除字符串“DomainB/path/
”并从头重写它:。它可能包含一个不可见的unicode字符