代码之家  ›  专栏  ›  技术社区  ›  Tasos

Python websocket创建连接

  •  0
  • Tasos  · 技术社区  · 8 年前

    https://github.com/crossbario/autobahn-python/blob/master/examples/twisted/websocket/echo_tls/server.py

    我想用以下代码连接到服务器:

    ws = create_connection("wss://127.0.0.1:9000")
    

    我需要添加哪些选项 create_connection sslopt={"cert_reqs": ssl.CERT_NONE}

    websocket._exceptions.WebSocketBadStatusException: Handshake status 400
    
    2 回复  |  直到 8 年前
        1
  •  6
  •   karelv    7 年前

    这很有效

    import asyncio
    import websockets
    import ssl
    
    async def hello():
        async with websockets.connect('wss://127.0.0.1:9000',ssl=ssl.SSLContext(protocol=ssl.PROTOCOL_TLS)) as websocket:
            data = 'hi'
            await websocket.send(data)
            print("> {}".format(data))
    
            response = await websocket.recv()
            print("< {}".format(response))
    
    asyncio.get_event_loop().run_until_complete(hello())
    
        2
  •  1
  •   karelv    7 年前

    对我来说,这个问题的选择似乎有效:

    from websocket import create_connection
    import ssl
    
    ws = create_connection("wss://echo.websocket.org", sslopt={"cert_reqs": ssl.CERT_NONE})
    
    ws.send("python hello!")
    print (ws.recv())
    ws.close()
    

    https://github.com/websocket-client/websocket-client#faq

    注意:我正在使用win7和python 3.6.5,并安装了以下软件包(pip):

    • 简单websocket服务器==0.4.0