zoukankan      html  css  js  c++  java
  • 火币网API文档——WebSocket API简介

    WebSocket API简介

    WebSocket协议是基于TCP的一种新的网络协议。它实现了客户端与服务器之间在单个 tcp 连接上的全双工通信,由服务器主动发送信息给客户端,减少了频繁的身份验证等不必要的开销。其最大优点有两个:

    • 两方请求的 header 数据很小,大概只有2 Bytes。

    • 服务器不再是被动的接到客户端的请求后才返回数据,而是有了新数据后主动推送给客户端。

    以上 WebSocket 协议带来的优点使得其十分适用于数字货币行情和交易这种实时性强的接口。

    WebSocket  API 行情 代码示例

    from websocket import create_connection
    import gzip
    import time
    
    if __name__ == '__main__':
        while(1):
            try:
                ws = create_connection("wss://api.huobipro.com/ws")
                break
            except:
                print('connect ws error,retry...')
                time.sleep(5)
    
        # 订阅 KLine 数据
        tradeStr="""{"sub": "market.ethusdt.kline.1min","id": "id10"}"""
    
        # 请求 KLine 数据
        # tradeStr="""{"req": "market.ethusdt.kline.1min","id": "id10", "from": 1513391453, "to": 1513392453}"""
    
        #订阅 Market Depth 数据
        # tradeStr="""{"sub": "market.ethusdt.depth.step5", "id": "id10"}"""
    
        #请求 Market Depth 数据
        # tradeStr="""{"req": "market.ethusdt.depth.step5", "id": "id10"}"""
    
        #订阅 Trade Detail 数据
        # tradeStr="""{"sub": "market.ethusdt.trade.detail", "id": "id10"}"""
    
        #请求 Trade Detail 数据
        # tradeStr="""{"req": "market.ethusdt.trade.detail", "id": "id10"}"""
    
        #请求 Market Detail 数据
        # tradeStr="""{"req": "market.ethusdt.detail", "id": "id12"}"""
    
        ws.send(tradeStr)
        while(1):
            compressData=ws.recv()
            result=gzip.decompress(compressData).decode('utf-8')
            if result[:7] == '{"ping"':
                ts=result[8:21]
                pong='{"pong":'+ts+'}'
                ws.send(pong)
                ws.send(tradeStr)
            else:
                print(result)
    View Code

    注:运行前需先安装websocket_client-0.44.0-py2.py3-none-any.whl    猛戳我下载    下载后pip install websocket_client-0.44.0-py2.py3-none-any.whl

        

  • 相关阅读:
    Linux文件权限
    Linux命令
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/zhuminghui/p/8977460.html
Copyright © 2011-2022 走看看