Автор Тема: [Криптография] Авторизация на бирже с использованием API  (Прочитано 332 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн trudmoy [?]

  • Новичок
  • *
  • Сообщений: 15
  • Репутация: 1
    • Награды
Версия AutoIt: v3.3.14.2

Описание: Добрый день. Совсем не силен в API. Прошу помощи в вопросе создания "подписи" (это кодированное сообщение HMAC-SHA256) для аутентификации при обращении к "частному" API.  Описание на сайте следующее:
PRIVATE FUNCTIONSACCOUNT BALANCE
This API call is cached for 10 seconds. This call will be executed on the account (Sub or Main), to which the used API key is bound to.
Request
POST   https://www.bitstamp.net/api/balance/ [nofollow]
POST   https://www.bitstamp.net/api/v2/balance/API [nofollow] v2
    Returns all the balances.
POST   https://www.bitstamp.net/api/v2/balance/{currency_pair}/API [nofollow] v2
    Returns the values relevant to the specified currency_pair parameter. Supported values for currency_pair: btcusd, btceur, eurusd, xrpusd, xrpeur, xrpbtc, ltcusd, ltceur, ltcbtc, ethusd, etheur, ethbtc
Request parameters
key   API key.
signature   Signature.
nonce   Nonce.

Пример короткого  о том, как сгенерировать подпись, можно увидеть здесь:

Python
import hmac
import hashlib

message = nonce + customer_id + api_key
signature = hmac.new(
    API_SECRET,
    msg=message,
    digestmod=hashlib.sha256
).hexdigest().upper()

customer ID,  API key, secret key - есть. Публичные данные получаю без проблем:
Код: AutoIt [Выделить]
#include <Crypt.au3>
 
Global $g_sBitstamURL = "https://www.bitstamp.net/api/v2/"
Global Const $g_sAPIKey = "5RvPXXXXXXXXXXXXXXXXXXXXXX087"  
Global Const $g_sAPISecret = "LR4XXXXXXXXXXXXXXXXXXXXXXXWr"  
Global Const $g_sID = "dsXXXXX5"

_TestAPI()

Func _TestAPI()
    ;Query Public
    Local $sResult = BitstamQueryPublic("ticker/btcusd/") ;Server ticker
    ConsoleWrite("Ticker: " & $sResult & @CRLF & @CRLF)
EndFunc   ;==>_TestAPI

Func BitstamQueryPublic($sMethod, $sParameters = "")
    Local $sURL = StringFormat($sMethod)
    Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", $g_sBitstamURL & $sURL, False)
    $oHTTP.Send(Binary($sParameters))
    Local $sReceived = $oHTTP.ResponseText
    Return $sReceived
EndFunc   ;==>BitstamQueryPublic


Дальше я совсем новичок. Помогите, пожалуйста.

Примечания:
« Последнее редактирование: Сентябрь 26, 2017, 15:35:33 от trudmoy »

Русское сообщество AutoIt


Оффлайн trudmoy [?]

  • Новичок
  • *
  • Сообщений: 15

  • Автор темы
  • Репутация: 1
    • Награды
Вопрос решен. Кому интересно - пишите в личку.

Русское сообщество AutoIt

Re: [Криптография] Авторизация на бирже с использованием API
« Ответ #1 Отправлен: Октябрь 04, 2017, 07:12:37 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
4734 Просмотров
Последний ответ Октябрь 02, 2009, 17:52:44
от CreatoR
140 Ответов
61726 Просмотров
Последний ответ Апрель 19, 2015, 02:43:50
от Broadcastic
0 Ответов
2839 Просмотров
Последний ответ Июнь 30, 2012, 13:45:14
от Kreol2013
11 Ответов
4281 Просмотров
Последний ответ Апрель 11, 2013, 15:07:03
от dimid
1 Ответов
1874 Просмотров
Последний ответ Февраль 19, 2014, 20:07:31
от Z_Lenar
0 Ответов
989 Просмотров
Последний ответ Февраль 20, 2014, 08:45:47
от madmasles
1 Ответов
897 Просмотров
Последний ответ Март 13, 2014, 18:31:41
от madmasles
17 Ответов
3040 Просмотров
Последний ответ Май 19, 2014, 16:53:40
от Коршун
0 Ответов
585 Просмотров
Последний ответ Август 28, 2015, 01:05:30
от Duff1993
4 Ответов
1099 Просмотров
Последний ответ Декабрь 02, 2015, 16:07:10
от Sln