привет  Сколько будет стоить написать запрос c++ builder Xe8  по API мне удобней с использование компонента TIdHTTP    для binance для запроса баланса (www.binance.com) по сути нужен правильный  шифрованный запрос для примера рабочий на питоне 

import time

import json

import urllib

import hmac, hashlib

import requests

from urllib.parse import urlparse, urlencode

from urllib.request import Request, urlopen

class Binance():

    methods = {

            # public methods

            'ping':             {'url':'api/v1/ping', 'method': 'GET', 'private': False},

            'time':             {'url':'api/v1/time', 'method': 'GET', 'private': False},

            'exchangeInfo':     {'url':'api/v1/exchangeInfo', 'method': 'GET', 'private': False},

            'depth':            {'url': 'api/v1/depth', 'method': 'GET', 'private': False},

            'trades':           {'url': 'api/v1/trades', 'method': 'GET', 'private': False},

            'historicalTrades': {'url': 'api/v1/historicalTrades', 'method': 'GET', 'private': False},

            'aggTrades':        {'url': 'api/v1/aggTrades', 'method': 'GET', 'private': False},

            'klines':           {'url': 'api/v1/klines', 'method': 'GET', 'private': False},

            'ticker24hr':       {'url': 'api/v1/ticker/24hr', 'method': 'GET', 'private': False},

            'tickerPrice':      {'url': 'api/v3/ticker/price', 'method': 'GET', 'private': False},

            'tickerBookTicker': {'url': 'api/v3/ticker/bookTicker', 'method': 'GET', 'private': False},

            # private methods

            'createOrder':      {'url': 'api/v3/order', 'method': 'POST', 'private': True},

            'testOrder':        {'url': 'api/v3/order/test', 'method': 'POST', 'private': True},

            'orderInfo':        {'url': 'api/v3/order', 'method': 'GET', 'private': True},

            'cancelOrder':      {'url': 'api/v3/order', 'method': 'DELETE', 'private': True},

            'openOrders':       {'url': 'api/v3/openOrders', 'method': 'GET', 'private': True},

            'allOrders':        {'url': 'api/v3/allOrders', 'method': 'GET', 'private': True},

            'account':          {'url': 'api/v3/account', 'method': 'GET', 'private': True},

            'myTrades':         {'url': 'api/v3/myTrades', 'method': 'GET', 'private': True},

            # wapi

            'depositAddress':   {'url': '/wapi/v3/depositAddress.html', 'method':'GET', 'private':True},

            'withdraw':   {'url': '/wapi/v3/withdraw.html', 'method':'POST', 'private':True},

            'depositHistory': {'url': '/wapi/v3/depositHistory.html', 'method':'GET', 'private':True},

            'withdrawHistory': {'url': '/wapi/v3/withdrawHistory.html', 'method':'GET', 'private':True},

            'withdrawFee': {'url': '/wapi/v3/withdrawFee.html', 'method':'GET', 'private':True},

            'accountStatus': {'url': '/wapi/v3/accountStatus.html', 'method':'GET', 'private':True},

            'systemStatus': {'url': '/wapi/v3/systemStatus.html', 'method':'GET', 'private':True},

    }

    

    def __init__(self, API_KEY, API_SECRET):

        self.API_KEY = API_KEY

        self.API_SECRET = bytearray(API_SECRET, encoding='utf-8')

        self.shift_seconds = 0

    def __getattr__(self, name):

        def wrapper(*args, **kwargs):

            kwargs.update(command=name)

            return self.call_api(**kwargs)

        return wrapper

    def set_shift_seconds(self, seconds):

        self.shift_seconds = seconds

        

    def call_api(self, **kwargs):

        command = kwargs.pop('command')

        api_url = 'https://api.binance.com/' + self.methods[command]['url']

        payload = kwargs

        headers = {}

        

        payload_str = urllib.parse.urlencode(payload)

        if self.methods[command]['private']:

            payload.update({'timestamp': int(time.time() + self.shift_seconds - 1) * 1000})

            payload_str = urllib.parse.urlencode(payload).encode('utf-8')

            sign = hmac.new(

                key=self.API_SECRET,

                msg=payload_str,

                digestmod=hashlib.sha256

            ).hexdigest()

6 лет назад
igor_dynamic_dns
Игорь 
55 лет
7 лет в сервисе
Был
6 лет назад

Заявки фрилансеров

Нет заявок фрилансеров
  • Похожие заказы

  • Нарисованную 3Д-модель в программе SketchUp обработать в облаке (или где-нибудь еще), таким образом, чтобы на выходе получить табличные данные из этой модели, сгруппированные по определенной логике (логику пока обсуждаем, но там будет все на уровне: ...

    Прикладное ПОнет заявок
    Закрыт
    6 лет назад
  • Здравствуйте, Нужен маленький плагин для chrome. Есть функционал на bosslike для накрутки клмментариев. много времени занимает копипаст комментов в формы Нужен плагин который будет с файлика брать ...

    Прикладное ПО1 исполнитель
    Завершен
    6 лет назад
  • $10

    Есть форма входа в программу на Делфе, инициализацию подключения к БД берет з ini файла. Не обходимо добавить выпадающий список над пользователями з названием Філіал: и с прописаными параметрами серверов которые скажу я. Суть ТЗ ...

    Прикладное ПО1 исполнитель
    Завершен
    6 лет назад
  • Нужен человек имеющий опыт в обучении нейронных сетей и знающий язык программирования С# или любой другой, с помощью которого можно считывать данные с клавиатуры Есть кнопка регистрации и кнопка входа. ...

    Прикладное ПО1 исполнитель
    Завершен
    6 лет назад
  • Необходимо разработать ПО на базе windows 10 для продажи фотографий и видео на локальном компьютере. По должно уметь: 1- работать как обычный промотрощик фотографий\проигрыватель видео (faststone image viewer) 2- Накладывать водяные знаки ...

    Закрыт
    6 лет назад
  • $50

    Нужно написать скрипт под windows, который делает следующее: 1) Открывает документ .pdf  и считывает нужные данные с документа и 2) Вставляет данные(номер) в имя файла 3) Создает папку  и ...

    Прикладное ПО1 исполнитель
    Завершен
    6 лет назад
  • $15

    Есть файл 10 млн строк, нужно: hex 1. Берем значение hex = 474A9158A9469E735AD2595E13D26959E0546811ACA016FD  2. Перевод в base58 = 7VxJgN89yCzQedss9EmiG2C3DESXRVh9n  3. В начало добавить 1 = 17VxJgN89yCzQedss9EmiG2C3DESXRVh9n 4. Сохранить в txt ...

    Прикладное ПО1 исполнитель
    Завершен
    6 лет назад
  • $400

    Нужно сделать бот для работы с desktop-версией мессенджера Wechat.  Работу бота нужно сделать не через API, так как для работы с API нужен сертификат разработчика, который платный + для бота такого типа его не ...

    Закрыт
    6 лет назад
  • $10000

    Браузер антидетект  - desktop программа.  Нужны все функции от браузера (смена отпечатков, куки, конфиги и т.д.) Что нужно встроить и доделать: -автоматическая подгрузка куки и прокси с моей БД, генерирование ...

    Закрыт
    6 лет назад
  • 2-м веткам ответствуют две разные площадки одного хостинга. Есть работающий скрипт для синхронизации без учёта разных веток. Нужно сделать синхронизацию разных веток соответственно commit-pipeline.

    Прикладное ПОнет заявок
    Закрыт
    6 лет назад