Вызов API DigitalOcean REST из CMD с использованием cURL возвращает ошибку - PullRequest
0 голосов
/ 31 января 2019

Я не уверен, что это лучшее место, чтобы спросить об этом, но сообщество DigitalOcean было менее чем полезно, и я не могу найти какие-либо другие источники, чтобы помочь с этой проблемой.Когда я пытаюсь сделать запрос cURL для выключения VPS, он возвращает следующую ошибку:

{"id":"bad_request","message":"Your request body was malformed."}

Несмотря на то, что я дословно скопировал запрос cURL из их документов API.Когда я запускаю его в терминале Linux, он работает просто отлично, что наводит меня на мысль, что это проблема cURL, специфичная для CMD.

Это код, дословно скопированный из документации по API:

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer APITokenHere" -d '{"type":"shutdown"}' "https://api.digitalocean.com/v2/droplets/VPS_IDHere/actions"

1 Ответ

0 голосов
/ 12 февраля 2019

Ошибка связана с JSON.

Сначала убедитесь, что ваш JSON действителен с помощью такого инструмента, как https://jsonformatter.org/json-pretty-print.

Как сказал mc-nd, в Windows приглашение CMD что-то делаетстранно с кавычками, поэтому их экранирование должно решить проблему: -d "{\"type\":\"shutdown\"}"

Возможно также запустить команду в PowerShell, где одинарные кавычки работают в основном так же, как в оболочках Unix.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...