我尝试在 Python 3.4 (Windows 7) 中使用 WebSockets 这是测试代码:
from twisted.internet import reactor
from autobahn.twisted.websocket import WebSocketClientFactory, WebSocketClientProtocol, connectWS
import json
class ClientProtocol(WebSocketClientProtocol):
def onConnect(self, response):
print("Server connected: {0}".format(response.peer))
def initMessage(self):
message_data = [{"type": "subscribe", "product_id": "BTC-USD"}]
message_json = json.dumps(message_data)
print("sendMessage: " + message_json)
self.sendMessage(message_json)
def onOpen(self):
print("onOpen calls initMessage()")
self.initMessage()
def onMessage(self, msg, binary):
print("Got echo: " + msg)
def onClose(self, wasClean, code, reason):
print("WebSocket connection closed: {0}".format(reason))
if __name__ == '__main__':
factory = WebSocketClientFactory("wss://ws-feed.exchange.coinbase.com")
factory.protocol = ClientProtocol
connectWS(factory)
reactor.run()
当我启动它时,出现错误:
F:\python>wss.py
Traceback (most recent call last):
File "F:\python\wss.py", line 24, in <module>
connectWS(factory)
File "C:\Program Files (x86)\Python35-32\lib\site-packages\autobahn-0.11.0-py3
.5.egg\autobahn\twisted\websocket.py", line 519, in connectWS
from twisted.internet import ssl
File "C:\Program Files (x86)\Python35-32\lib\site-packages\twisted-15.5.0-py3.
5.egg\twisted\internet\ssl.py", line 59, in <module>
from OpenSSL import SSL
ImportError: No module named 'OpenSSL'
但是当我尝试安装OpenSSL时,出现错误:
F:\python>easy_install openssl
Searching for openssl
Reading https://pypi.python.org/simple/openssl/
Couldn't find index page for 'openssl' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
No local packages or download links found for openssl
error: Could not find suitable distribution for Requirement.parse('openssl')
如何启动此测试代码?
尝试安装 pyOpenSSL 软件包:
pip install pyOpenSSL