Обсуждение статьи "Знакомство с языком MQL5 (Часть 37): Освоение API и функции WebRequest в языке MQL5 (XI)"
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Опубликована статья Знакомство с языком MQL5 (Часть 37): Освоение API и функции WebRequest в языке MQL5 (XI):
Сообщение и секретный ключ – это два основных компонента, необходимых для создания надежной подписи для Binance, как мы обсуждали в предыдущей статье. В этом случае сообщением служит временная метка, которая должна отражать текущее время на сервере Binance, а не время на вашем локальном компьютере. Временная метка имеет решающее значение для защиты ваших запросов. Это предотвращает повторные атаки, поскольку каждый подписанный запрос получается уникальным и не может быть использован другой стороной. Временная метка фиксирует точный момент отправки запроса, поскольку она постоянно меняется. Binance обеспечивает точную проверку, предоставляя временную метку в миллисекундах. При обращении к приватным эндпоинтам, например, для проверки баланса или совершения сделок, использование правильного серверного времени гарантирует, что ваша подпись будет действительной.
Чтобы получить это серверное время, нужно отправить запрос к API Binance. В отличие от локального времени, которое может отличаться в зависимости от часов вашего компьютера или часового пояса, серверная временная метка является официальным ориентиром, который Binance использует для всех авторизованных запросов. Это означает, что перед созданием подписи наша программа на языке MQL5 должна обратиться к Binance, чтобы получить серверное время. Любая подпись, созданная без этого шага, будет отклонена, поскольку временная метка не будет соответствовать требованиям Binance. Чтобы получить текущее серверное время, нужно отправить GET-запрос на определенный эндпоинт Binance. К этому эндпоинту можно обращаться свободно, поскольку он не требует аутентификации. Текущее серверное время в миллисекундах содержится в JSON-объекте, который Binance возвращает в ответ на наш запрос. После этого наш скрипт извлечет это значение из ответа и использует его как сообщение при создании подписи.
Автор: Israel Pelumi Abioye