Joan M Ответов: 1

Я пытаюсь перевести с linux и выполнить инструкцию CURL в windows cmd, но не могу заставить ее работать


Всем привет,

Я пытаюсь управлять электрической розеткой tp-link из командной строки...

К настоящему времени я сделал интересные успехи, сумев получить идентификатор плагина...

Теперь я хотел бы сделать еще один шаг и активировать или деактивировать его.

Чтобы сделать это, я проследил за интернет-страницей, которая объясняет, как это сделать из Linux... И я хотел бы сделать это из Windows 10.

Если я заставлю это работать, я сделаю небольшую статью/совет здесь, в CP, чтобы объяснить шаги, которые к настоящему времени были очень просты...

Оригинальный сценарий linux будет выглядеть следующим образом:

curl --request POST "https://eu-wap.tplinkcloud.com/?token=74adcc7e-64f7-47c1-a751-dece6d2f4704 \
 --data '{"method":"passthrough", "params": {"deviceId": "80067AC4FDBD41C54C55896BFA28EAD38A87A5A4", "requestData": "{\"system\":{\"set_relay_state\":{\"state\":1}}}" }}' \
--header "Content-Type: application/json"


Из CMD windows 10 я написал то, что, по моему мнению, было бы правильным переводом, но это не удается:

curl -X POST -H "Content-Type: application/json" -d "{ \"method\" : \"passthrough\", \"params\" : { \"deviceId\" : \"80067AC4FDBD41C54C55896BFA28EAD38A87A5A4\", \"requestData\" : { \"system\" : { \"set_relay_state\" : { \"state\" : 1 }}}}}" https://eu-wap.tplinkcloud.com/?token=74adcc7e-64f7-47c1-a751-dece6d2f4704


Он возвращается
{"error_code":-10100,"msg":"JSON format error"}


Примечание: DeviceId и токен используются те же самые, что и на исходной веб-странице.

Например, один вызов curl (используемый для получения устройств в сети), который работает:
curl -X POST -H "Content-Type: application/json" -d "{ \"method\" : \"getDeviceList\" }" https://eu-wap.tplinkcloud.com?token=74adcc7e-64f7-47c1-a751-dece6d2f4704


Ты видишь, что здесь что-то не так?

Большое спасибо.

Что я уже пробовал:

Перемещенные кавычки, экранированные кавычки (у меня есть 2 вызова curl для работы и я попытался эмулировать их здесь)...

Peter_in_2780

В вашем примере Win10, похоже, отсутствуют кавычки вокруг requestData {...} (за пределами 3-й самой внутренней пары фигурных скобок).

Joan M

- Да! и их пришлось заменить на "в окнах"...

спасибо, Питер...

1 Ответов

Рейтинг:
5

Joan M

локон -х пост -х "тип контента: приложение/JSON" -д "{ \"метод\" : \"сквозной\", \"параметры\" : { \"идентификатора устройства\" : \"80067AC4FDBD41C54C55896BFA28EAD38A87A5A4\", \"requestData\" : '{ \"система\" : { \"set_relay_state\" : { \"государства\" : 1 }}}'}}" https://eu-wap.tplinkcloud.com/?token=74adcc7e-64f7-47c1-a751-dece6d2f4704

Пришлось поставить один из requestdata...