原始标头无效

时间:2018-01-14 22:20:08

标签: python websocket

我正在尝试建立一个websocket连接但是收到了错误:

  

请求标头中的来源不正确。

我的代码是:

def create_signature():
    timestamp = int(datetime.datetime.now().timestamp()) 
    string = "{}{}".format(timestamp, key)
    return timestamp, hmac.new(secret.encode(), string.encode(), hashlib.sha256).hexdigest()
def auth_request():
    timestamp, signature = create_signature()
    return json.dumps({'e': 'auth',
        'auth': {'key': key, 'signature': signature, 'timestamp': timestamp}})

def main():
    ws = create_connection(websocketURL)
    authentication = auth_request()
    ws.send(authentication)
    result = ws.recv()
    print(result)
    ws.close()

我正在运行main功能。 auth_request返回有效的json。我正在尝试获取有效的响应对象,但连接失败。我导入了相关的库,没有任何语法错误。所有变量都在另一个文件中定义。

如何解决此问题,这是我第一次使用网络套接字?

1 个答案:

答案 0 :(得分:1)

我相信您的代码来自www.cex.io。 (如果不是,抱歉)

为了使用cex.io ws api,您需要在连接到websocket时声明正确的 Origin标头Origin: wss.cex.io(我个人向cex.io支持团队询问了此问题)

对于市场数据(ticker,ohlcv ..),您无需进行身份验证 https://gist.github.com/icehongssii/1c8ec1755dfee88c2789714ee9a37738.js