zoukankan      html  css  js  c++  java
  • [Python]订阅火币官方K线数据

    之前接了一个小单,脚本订阅k线数据如果波动过大就电话报警。
    被huobi官方提供的API坑了好久,他提供的那个根本根本根本连不上!
    WS是基于TCP协议,客户端发消息给服务端然后就直接开始通信,服务端可以主动发消息到客户端,因此订阅数据这种一般使用WS
    WSS就是加密之后的WS。
    最后是看到一个跟我一样遭遇的博主,用了火币的子站的API,具体操作和主站一样。
    关于gzip解压缩和ping-pong消息的处理可以参考一下我的代码。
    另外是一个字符串的骚操作#原谅我python学艺不精

    while(1):
            try:
                ws = create_connection("wss://api.hadax.com/ws")
                # hadax是huobi的子站
                break
            except:
                print('connect ws error,retry...')
                time.sleep(5)
     
        # 订阅 KLine 数据
        tradeStr="""{"sub": "market.ethusdt.kline.%s","id": "id10"}"""%(time)
        #tradeStr="""{"sub": "market.ethusdt.kline.1min","id": "id10"}"""
        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: 
                data = json.loads(result)
                # deal with the data
    
  • 相关阅读:
    Mysql高级第一天(laojia)
    Mysql初级第三天(wangyun)
    Mysql初级第二天(wangyun)
    Mysql初级第一天(wangyun)
    Spring的源码解析
    JAVA8新特性
    java8
    JMM内存模型
    JAVA并发工具类
    mybatis
  • 原文地址:https://www.cnblogs.com/sherrlock/p/14136579.html
Copyright © 2011-2022 走看看