@NickBAS said in HTTP прокси:
а в 23 почему-то не работают HTTP прокси
Да вроде вы первый такой.
Привет, форумчане
Не простой вопрос и даже просьба к вам у меня сегодня.
Нужно разобраться как пройти авторизацию на бирже Битмекс по API.
Один чел мне сказал, что это делается путем отправки HTTP-заголовков.
В качестве исходных данных имеется:
И вот на основе этих данных и документации нужно сформировать HTTP (или POST) запрос на создание ордера (в Басе переходим в меню HTTP-клиент, -> POST-запрос). То бишь как то прописать это в бас. И прописать я полагаю нужно вот сюда (см. скриншот). Т.е. прописать URL запроса, заголовок и возможно Post Data. Что конкретно писать в моем случае я не понимаю.

Для тестирования можно использовать демо версию биржи: https://testnet.bitmex.com/app/trade/XBTUSD
Прошу не менять пароль, т.к. это демо аккаунт и реальных денег там нет.
Было бы неплохо если б кто нибудь обучающими видео BAS для API поделился. Был бы рад.
Чувак, это слишком сложно. Здесь в основном дают советы по правильной настройке функционала БАС, по корректной логике выполнения скрипта, отладке ошибок. Но ты превзашел всех: ты хочешь, чтобы мы изучили документацию API сайта и дали готовое решение? Иногда нужно учиться самому. И прежде, чем приступать к запросам на HTTP, изучи, как это впринципе работает, тогда не будет возникать вопросов на этот счет.
Ну может, кто-то из старожилов форума и найдет время на это.
@olegtut said in Авторизация по API с отправкой HTTP-заголовка. Помогите кто может!:
Чувак, это слишком сложно. Здесь в основном дают советы по правильной настройке функционала БАС, по корректной логике выполнения скрипта, отладке ошибок. Но ты превзашел всех: ты хочешь, чтобы мы изучили документацию API сайта и дали готовое решение? Иногда нужно учиться самому. И прежде, чем приступать к запросам на HTTP, изучи, как это впринципе работает, тогда не будет возникать вопросов на этот счет.
С простым API мне понятно как работать, уже писал скрипты: API-ключ указывается в URL ссылке и дополнительные параметры. Затем просто выполняем переход по ссылке и получаем ответ в формате JSON. На некоторых биржах так и сделано, но только не на Битмекс.
Рад бы изучить. Жаль уроки у автора только для премиум пользователей, я таким не являюсь. Мож поделитесь?
@root said in Авторизация по API с отправкой HTTP-заголовка. Помогите кто может!:
Вы о чем вообще? оно просто не будет работать не используя нод потому что требуется каждый раз SHA256 высчитывать.
Мне по сути придется свой сервер поднимать на основе их скриптов, т.е. мой комп будет работать как сервер? Их скрипты по моему как раз это и делают. Надо только разобраться куда чего вставлять.
@botovod said in Авторизация по API с отправкой HTTP-заголовка. Помогите кто может!:
Жаль уроки у автора только для премиум пользователей
А где Вы нашли уроки только для премиум? я премиум но нигде не встречал уроков именно для этой категории.
Все что видел есть на ютубе и там оно доступно для всех
@root said in Авторизация по API с отправкой HTTP-заголовка. Помогите кто может!:
@allive Вы о чем вообще? оно просто не будет работать не используя нод потому что требуется каждый раз SHA256 высчитывать.
можно и без нод. https://passwordsgenerator.net/sha256-hash-generator/ запрос туда и все.
@botovod said in Авторизация по API с отправкой HTTP-заголовка. Помогите кто может!:
Мне по сути придется свой сервер поднимать на основе их скриптов, т.е. мой комп будет работать как сервер? Их скрипты по моему как раз это и делают. Надо только разобраться куда чего вставлять.
не нужно этого. простое клиентское приложение, в документации все подробно расписано
Спасибо за подсказки ребята. У меня немного прояснилось как это должно выглядеть.
Решил попробовать через Node JS, в БАСе это меню "встроенные языки" -> "Node.js". Туда я добавил программный код, который предлагает БИТМЕКС на гитхабе: взято тут https://github.com/BitMEX/api-connectors/tree/master/official-http/node-request
var request = require('request');
var crypto = require('crypto');
var apiKey = "API_KEY";
var apiSecret = "API_SECRET";
var verb = 'POST',
path = '/api/v1/order',
expires = new Date().getTime() + (60 * 1000), // 1 min in the future
data = {symbol:"XBTUSD",orderQty:1,price:590,ordType:"Limit"};
// Pre-compute the postBody so we can be sure that we're using *exactly* the same body in the request
// and in the signature. If you don't do this, you might get differently-sorted keys and blow the signature.
var postBody = JSON.stringify(data);
var signature = crypto.createHmac('sha256', apiSecret).update(verb + path + expires + postBody).digest('hex');
var headers = {
'content-type' : 'application/json',
'Accept': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
// This example uses the 'expires' scheme. You can also use the 'nonce' scheme. See
// https://www.bitmex.com/app/apiKeysUsage for more details.
'api-expires': expires,
'api-key': apiKey,
'api-signature': signature
};
const requestOptions = {
headers: headers,
url:'https://testnet.bitmex.com'+path,
method: verb,
body: postBody
};
request(requestOptions, function(error, response, body) {
if (error) { console.log(error); }
console.log(body);
});
API_KEY и API_SECRET разумеется заменил на свои рабочие значения.
Но БАС выдает ошибку: Cannot find module 'request'
В чем ошибка и как исправить?