我查看了在这里找到的FTX文档:https://docs.ftx.us/#overview
我看过这个回购程序中的示例代码:https://github.com/ftexchange/ftx/tree/master/rest
我在/wallet/withdrawals上点击POST请求,但我得到了
{“成功”:假,“错误”:“未登录:无效签名”,"errorCode":"not_logged_in"}
这是我的密码:
resp = requests.get('https://otc.ftx.com/api/time')
ftx_t = resp.json()
time = ftx_t['result']
date_format = datetime.datetime.strptime(time, "%Y-%m-%dT%H:%M:%S.%f%z")
unix_time = datetime.datetime.timestamp(date_format)
ts = unix_time * 1000
# ts = int(time.time() * 1000)
request = Request('**POST**', '**https://ftx.us/api/wallet/withdrawals**') # To make withdrawas
prepared1 = request.prepare()
body = {
"coin": "USDT", # coin to withdraw
"size": 0, # amount to withdraw
"address": "***************" # address to send to
}
signature_payload1 = f'{ts}{prepared1.method}{prepared1.path_url}'.encode()
signature1 = hmac.new('**SECRET KEY**'.encode(), signature_payload1, 'sha256').hexdigest()
prepared1.headers[f'FTXUS-KEY'] = '**API KEY**'
prepared1.headers[f'FTXUS-SIGN'] = signature1
prepared1.headers[f'FTXUS-TS'] = str(ts)
prepared1.headers['Content-Type'] = 'application/json'
prepared1.headers['Accept'] = 'application/json'
data1 = json.dumps(body).encode()
res10 = requests.post('https://ftx.us/api/wallet/withdrawals', data=data1, headers=prepared1.headers)发布于 2022-10-11 11:22:07
您需要对发送post请求的数据进行编码,并在请求POST请求时将这些编码的数据添加到正文中。
这可能有助于:
在调用signature1变量之前,需要添加以下内容:
prepared1.body = json.dumps(body).encode()
if prepared1.body:
signature_payload1 += prepared1.body在POST请求方法中,在数据属性中添加主体
res10 = requests.post('https://ftx.us/api/wallet/withdrawals', data=prepared1.body, headers=prepared1.headers)在这里,我为您编辑了代码:
resp = requests.get('https://otc.ftx.com/api/time')
ftx_t = resp.json()
time = ftx_t['result']
date_format = datetime.datetime.strptime(time, "%Y-%m-%dT%H:%M:%S.%f%z")
unix_time = datetime.datetime.timestamp(date_format)
ts = (unix_time * 1000)
request = Request('POST', 'https://ftx.us/api/wallet/withdrawals') # To make withdrawas
prepared1 = request.prepare()
signature_payload1 = f'{ts}{prepared1.method}{prepared1.path_url}'.encode()
body = {
"coin": "USDT", # coin to withdraw
"size": 0, # amount to withdraw
"address": "***************" # address to send to
}
prepared1.body = json.dumps(body).encode()
if prepared1.body:
signature_payload1 += prepared1.body
signature1 = hmac.new(SECRET KEY.encode(), signature_payload1,
'sha256').hexdigest()
prepared1.headers[f'FTXUS-KEY'] = API KEY
prepared1.headers[f'FTXUS-SIGN'] = signature1
prepared1.headers[f'FTXUS-TS'] = str(ts)
prepared1.headers['Content-Type'] = 'application/json'
prepared1.headers['Accept'] = 'application/json'
res10 = requests.post('https://ftx.us/api/wallet/withdrawals', data=prepared1.body, headers=prepared1.headers)您可以检查这些以供参考:
https://stackoverflow.com/questions/74014962
复制相似问题