title: How to connect to poloniex.com websocket api using a python library
body: <p>I am trying to connect to wss://api.poloniex.com and subscribe to ticker. I can't find any working example in python. I have tried to use autobahn/twisted and websocket-client 0.32.0.</p>
  
  <p>The purpose of this is to get real time ticker data and store it in a mysql database.</p>
  
  <p>So far I have tried to use examples provided in library documentation. They work for localhost or the test server but if I change to wss://api.poloniex.com I get a bunch of errors.</p>
  
  <p>here is my attempt using websocket-client 0.32.0:</p>
  
  <pre><code>from websocket import create_connection
  ws = create_connection("wss://api.poloniex.com")
  ws.send("ticker")
  result = ws.recv()
  print "Received '%s'" % result
  ws.close()
  </code></pre>
  
  <p>and this is using autobahn/twisted:</p>
  
  <pre><code>from autobahn.twisted.websocket import WebSocketClientProtocol
  from autobahn.twisted.websocket import WebSocketClientFactory
  
  
  class MyClientProtocol(WebSocketClientProtocol):
  
      def onConnect(self, response):
          print("Server connected: {0}".format(response.peer))
  
      def onOpen(self):
          print("WebSocket connection open.")
  
          def hello():
              self.sendMessage(u"ticker".encode('utf8'))
              self.sendMessage(b"\x00\x01\x03\x04", isBinary=True)
              self.factory.reactor.callLater(1, hello)
  
          # start sending messages every second ..
          hello()
  
      def onMessage(self, payload, isBinary):
          if isBinary:
              print("Binary message received: {0} bytes".format(len(payload)))
          else:
              print("Text message received: {0}".format(payload.decode('utf8')))
  
      def onClose(self, wasClean, code, reason):
          print("WebSocket connection closed: {0}".format(reason))
  
  
  if __name__ == '__main__':
  
      import sys
  
      from twisted.python import log
      from twisted.internet import reactor
  
      log.startLogging(sys.stdout)
  
      factory = WebSocketClientFactory("wss://api.poloniex.com", debug=False)
      factory.protocol = MyClientProtocol
  
      reactor.connectTCP("wss://api.poloniex.com", 9000, factory)
      reactor.run()
  </code></pre>
  
  <p>A complete but simple example showing how to connect and subscribe to to a websocket push api using any python library would be greatly appreciated.</p>