Работа с cURL
6.4.1 Введение
Утилита командной строки для отправки HTTP-запросов. Доступна на любом компьютере без дополнительной установки: встроена в macOS и Linux, доступна в Windows начиная с Windows 10.
6.4.2 Установка
Windows
curl встроен в Windows 10 и новее. Проверить наличие:
curl --version
Если curl не установлен — скачать с curl.se/download.html.
macOS
curl встроен по умолчанию. Проверить версию:
curl --version
Linux
sudo apt install curl # Ubuntu/Debian
sudo yum install curl # CentOS/RHEL
6.4.3 Структура команды
Базовый синтаксис запроса с bearer-токеном: ⚠️ Это пример (синтаксис Linux/macOS). В Windows символы переноса строк и экранирования кавычек отличаются.
curl -X <МЕТОД> http://<IP_майнера>/api/v1/<эндпоинт> \
-H "Accept: application/json" \
-H "Authorization: Bearer <token>" \
-H "x-api-key: <ключ>" \
-H "Content-Type: application/json" \
-d '<тело_запроса>'
Авторизация одна из двух :
Authorization: Bearer <token>(получен черезPOST /unlock) либоx-api-key: <ключ>(создан черезPOST /apikeys). Заголовокx-api-keyуказывается отдельно, а не внутриAuthorizationОсновные флаги:
-X— метод запроса:GET,PUT,POST,DELETE-H— заголовок запроса, например тип содержимого или токен авторизации-d— тело запроса в формате JSON (для PUT и POST) Если понадобятся дополнительные возможности, полный список флагов можно посмотреть в официальной документации curl:man curlили на curl.se/docs.
6.4.4 Быстрый старт
Пример: получить bearer-токен и сразу использовать его в следующем запросе.
Шаг 1. Получить токен
curl -X POST http://<IP_майнера>/api/v1/unlock -H"Content-Type: application/json" -d'{"pw": "пароль_устройства"}'
⚠️ Это пример (синтаксис Linux/macOS). Для Windows CMD необходимо заменить одинарные кавычки на двойные с экранированием:
-d "{\"pw\": \"пароль_устройства\"}"Ответ сервера 200 (ОК):
{"token":"eyJhbGciOiJIUzI1NiIs..."}
Шаг 2. Использовать токен в запросе
Скопируйте значение token из ответа и подставьте в заголовок Authorization следующего запроса:
curl -X GET https://<IP_майнера>/api/v1/status -H "Accept: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."