Ich versuche, json Daten von der Kommandozeile mit curl zu einem PHP-Skript POST. Aber ich kann nicht herausfinden, wie das geschrieben json auf dem Server-Standort zu erhalten (php)cmd curl json zu PHP-Skript
Dies ist, was ich versucht habe, so weit:
Kommandozeile:
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";
}
Das Ergebnis, das ich erhalte, ist:
'{token:xyz}'
failed
Ich versuchte auch, wie der "in der Locke Anruf zu entkommen:
curl -H "Content-Type: application/json" -X POST -i -d '{\"token\":\"xyz\"}' http://localhost/api/users.php
aber dann bekomme ich fast das gleiche Ergebnis:
'{"token":"xyz"}'
failed
So ist mein Problem, dass die PHP-Skript zu konvertieren schlägt fehl die empfangenen JSON-Daten.
Was mache ich falsch?
EDIT (Gelöst):
Aufruf cmd curl Befehl mit doppelten Anführungszeichen und Escape Zitate dazwischen:
curl -H "Content-Type: application/json" -X POST -i -d "{\"token\":\"xyz\"}" http://localhost/api/users.php
perfekt danke! mit doppelten Qoutes herum und entkomme den Zitaten zwischendurch gearbeitet :-) probiert Stunden damit das Laufen ... – Biba