Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 带有asyncio的高速公路-无法为URL';有路可走_Python 3.x_Python Asyncio_Autobahn - Fatal编程技术网

Python 3.x 带有asyncio的高速公路-无法为URL';有路可走

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

我正在尝试连接到两个WebSocket(WebSocket A和URI)wss://domainA.com 和带有URI的WebSocket Bwss://domainB.com/path)使用在asyncio上运行的Autobahn,如中所述

我创建了一个WebSocketClientProtocol,如下所示:

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字符