Я пытаюсь перевести с 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
- Да! и их пришлось заменить на "в окнах"...
спасибо, Питер...