Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо портировать с python на dart код запроса активных ордеров с крипто-биржи okex.

Код на python работает. Все необходимые пароли и ключи доступа к API okex вбиты. Функция запрашивает активные ордера (там выставлен один ордер) и печатает их список в консоль. То же самое должно происходить в портированной функции на dart.

Рабочий код на python:



from datetime import datetime

import hmac

import base64

import requests

APIKEY = "d02e7a65-c5fa-4406-8710-f5660d038260"

APISECRET = "57B9A0B51A7CBD0B8554FD11ABBE0FDC"

PASS = "VXSVxnIvAd2ciMRI1CtVG40wNHaCkHkL"

BASE_URL = 'https://aws.okex.com'

def send_signed_request(http_method, url_path, payload=None):

if payload is None:

payload = {}

def get_time():

return datetime.utcnow().isoformat()[:-3] + 'Z'

def signature(timestamp, method, request_path, body, secret_key):

if str(body) == '{}' or str(body) == 'None':

body = ''

message = str(timestamp) + str.upper(method) + request_path + str(body)

mac = hmac.new(bytes(secret_key, encoding='utf8'), bytes(message, encoding='utf-8'), digestmod='sha256')

d = mac.digest()

return base64.b64encode(d)

# set request header

def get_header(request='GET', endpoint='', body=None):

if body is None:

body = dict()

cur_time = get_time()

#cur_time = "2021-09-18T15:31:52.219Z"

print(cur_time)

header1 = dict()

header1['CONTENT-TYPE'] = 'application/json'

header1['OK-ACCESS-KEY'] = APIKEY

sign = signature(cur_time, request, endpoint, body, APISECRET)

print(sign)

header1['OK-ACCESS-SIGN'] = sign

print(sign[0])

header1['OK-ACCESS-TIMESTAMP'] = str(cur_time)

header1['OK-ACCESS-PASSPHRASE'] = PASS

return header1

url = BASE_URL + url_path

header = get_header(http_method, url_path, payload)

print(url)

print(header)

response = requests.get(url, headers=header)

response.json()

return response.json()

resp = send_signed_request("GET", "/api/v5/trade/orders-pending", payload={})

print(resp['data'])

2 года назад
ant100
Ильнар 
43 годаРоссия
2 года в сервисе
Был
2 года назад