Maison >développement back-end >tutoriel php >Comment lire le corps d'une requête JSON POST en PHP ?
Introduction
Cet article aborde le sujet de la récupération et de l'analyse Requêtes JSON POST en PHP. Cela peut être particulièrement utile lorsque vous travaillez avec des services Web et des API qui transfèrent des données au format JSON.
Identification du problème
Lors de l'utilisation d'une application de type contenu/ json pour les requêtes POST, les méthodes conventionnelles telles que $_POST ne récupéreront pas les données. En effet, ces méthodes s'attendent à ce que le corps de la requête soit sous la forme de données application/x-www-form-urlencoded.
Solution : File_get_contents('php://input')
Pour résoudre ce problème, PHP fournit la fonction file_get_contents('php://input'), qui permet de lire les données brutes reçues dans le corps de la requête. Ces données brutes peuvent ensuite être analysées à l'aide des fonctions de décodage JSON.
Code mis à jour
Expéditeur (CURL)
$ch = curl_init('http://webservice.local/'); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen(json_encode($data)) )); $result = curl_exec($ch); $result = json_decode($result); var_dump($result);
Récepteur (PHP)
$json = file_get_contents('php://input'); $obj = json_decode($json, TRUE);
Notes supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!