python中的hash_hmac sha512身份验证

2024-10-01 15:31:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为:https://comkort.com/page/private_api编写python身份验证bot

没有完整的php示例。我想有人可以把它放在这里。在

只有一段php代码:

$query_string = http_build_query($_POST, '', '&');
$ethalon_sign = hash_hmac("sha512", $query_string, $api_secret_key);

如何使用hash_hmac sha512在python上编写身份验证?在

我想提取我的open ordersPOST https://api.comkort.com/v1/private/order/list。在

我目前的变体是:

^{pr2}$

我被抓住了

{"code":401,"error":"Invalid sign","field":"sign"}

可能是hexdigest()而不是digest()?我不知道,我在玩这个b前缀和不同的输出hmac的选项,每次我发现一个错误:“无效符号”。在

相关:HMAC signing requests in Python


Tags: httpscom身份验证apistringbotpagehash
1条回答
网友
1楼 · 发布于 2024-10-01 15:31:12

如果有人感兴趣,我自己解决这个问题。在

#!/usr/bin/python

import hashlib
import hmac
import requests
import time

apikey = '';
apisecret = '';

def request_comkort( url, payload ):
        tosign = "&".join( [i + '=' + payload[i] for i in payload] )
        sign = hmac.new( apisecret, tosign , hashlib.sha512);
        headers = {'sign': sign.hexdigest(), 'nonce': int( time.time() ), 'apikey': apikey }
        r = requests.post(url, data=payload, headers=headers)
        return r.text

# Get balance
print request_comkort( "https://api.comkort.com/v1/private/user/balance";, {} )
# Get Open Orders 
print request_comkort( "https://api.comkort.com/v1/private/order/list";, {'market_alias': "DOGE_LTC" } )
# Make Ask
print request_comkort( "https://api.comkort.com/v1/private/order/sell";, { 'market_alias':"HTML_DOGE", "amount": "1000", "price": "123123" } )
# Cancel order
print request_comkort( "https://api.comkort.com/v1/private/order/cancel";, { 'order_id': 10943 } )

相关问题 更多 >

    热门问题