首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C-CEX API不接受签名

C-CEX API不接受签名
EN

Stack Overflow用户
提问于 2017-06-22 12:16:51
回答 1查看 323关注 0票数 1

我正在尝试使用C-CEX.com验证自己,访问一个测试帐户钱包信息

我仔细地跟踪了文献资料,并浏览了web的代码,但是没有用(除了过时的库)--结果总是这样:

代码语言:javascript
复制
>>>make_sign_and_request('getbalances')
{'success': False, 'result': None, 'message': 'INVALID_SIGNATURE'}

整个过程更加复杂,因为似乎找不到Python示例而身份验证只在PHP中解释 (下面的代码是基于这个示例的)。

我的签名功能:

代码语言:javascript
复制
import requests
import time
import urllib
import hashlib
import hmac

# Keys for the test account
API_KEY = '7EAEBD233321AB48C8B5EAB58FF8849B'
API_SECRET = '139057C3B770C2DBCFCFFDD0D8A56E3F'


def make_sign_and_request(endpoint, **request_kwargs):
    req_kwargs = {'url': 'https://c-cex.com/t', 'headers': {}, 'files': {},
                  'data':  {}, 'params': {}, 'auth': {}, 'cookies': {},
                  'hooks': {}, 'json': {}}
    req_kwargs.update(request_kwargs)

    # Prepare Payload arguments
    nonce = str(int(time.time() * 1000))

    params = req_kwargs.pop('params')
    params['apikey'] = API_KEY
    params['nonce'] = nonce
    post_params = params
    post_params.update({'nonce': nonce, 'a': endpoint})
    url_encoded_params = urllib.parse.urlencode(post_params)
    url = req_kwargs['url'] + '/api.html?' + url_encoded_params
    print(url)
    # generate signature
    sig = hmac.new(API_SECRET.encode('utf-8'), url.encode('utf-8'),
                   hashlib.sha512).digest()

    # update req_kwargs keys
    req_kwargs['headers'] = {'apisign': sig}
    req_kwargs['url'] = url
    return requests.request('GET', **req_kwargs)

print(make_sign_and_request('getbalances').json())

现在,我不是一个PHP向导,但我很有信心我已经相当准确地复制了python中的代码。显然不是,否则信号就会被接受。

api密钥已被启用,并应按预期工作。

预期的结果应该如下所示,根据文件:

代码语言:javascript
复制
{"success":true,"message":"","result":{"Currency":"BTC","Balance":0.00000000,"Available":0,"Pending":0.00000000,"CryptoAddress":""}}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-22 13:14:10

这一问题已得到解决:

hexdigest()对象上添加对hmac的调用可以解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44699204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档