cmd curl JSON в PHP-скрипт

Я пытаюсь отправить данные JSON из командной строки с curl в php-скрипт.
Но я не могу понять, как получить опубликованный JSON на сайте сервера (php)

Это то, что я пробовал до сих пор:

командная строка:

curl -H "Content-Type: application/json" -X POST -i -d '{"token":"xyz"}' http://localhost/api/users.php

users.php

//Receive the RAW post data.
$content = file_get_contents("php://input");
echo $content;

// try to decode json
$decoded = json_decode($content);

if($decoded){
echo "success";
echo $decoded['token'];
}
else{
echo "failed";
}

Результат, который я получаю:

'{token:xyz}'
failed

Я также пытался избежать «в вызове curl как:

 curl -H "Content-Type: application/json" -X POST -i -d '{\"token\":\"xyz\"}' http://localhost/api/users.php

но тогда я получаю почти такой же результат:

'{"token":"xyz"}'
failed

Поэтому моя проблема в том, что php-скрипт не может преобразовать полученные данные json.

Что я делаю неправильно?

РЕДАКТИРОВАТЬ (решено):

Вызовите команду cmd curl с двойными кавычками и escape-кавычками между ними:

curl -H "Content-Type: application/json" -X POST -i -d "{\"token\":\"xyz\"}" http://localhost/api/users.php

0

Решение

Кажется, все в порядке, но после тестирования вашего примера он работает, только если я помещаю двойные кавычки вокруг данных поста. Попытайся.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru