petition - POST JSON sobre CURL con autenticación básica
curl post xml (3)
No usar
$person = file_get_contents("php://input");
en su lugar use
$person = $_POST[''person''];
Y si usa curl desde la línea de comandos, esta es la sintaxis para querer POSTAR datos json:
curl -d ''person={"name":"bob"}''
Estoy usando Curl desde la línea de comandos para depurar una pequeña API web en la que estoy trabajando. La API web espera autenticación básica y un objeto JSON como entrada (POST). Actualmente, esta autentificación básica funciona bien:
curl -i --user validuser:70e12a10-83c7-11e0-9d78-0800200c9a65 http://example.com/api.php
pero también quiero enviar un objeto JSON como una solicitud POST:
curl -i --user validuser:70e12a10-83c7-11e0-9d78-0800200c9a65 -X POST -d ''{"person":{"name":"bob"}}'' http://example.com/api.php
Recibo una respuesta de 400 solicitudes incorrectas con el comando anterior, ¿alguna idea sobre cómo agrupo un objeto json en esta solicitud POST?
Pruébalo con:
curl -i --user validuser:70e12a10-83c7-11e0-9d78-0800200c9a65 -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d ''{"person":{"name":"bob"}}'' http://mysite.com/api.php
json=
el json=
bit en el contenido del cuerpo.
Alternativamente, esta publicación podría ser útil: Cómo publicar JSON en PHP con curl
curl --request POST /
--url http://host/api/content/ /
--header ''authorization: Basic Esdfkjhsdft4934hdfksjdf''