cURL en PHP : transmission de données JSON via PUT, POST, GET
Dans le développement d'API REST, cURL est un outil précieux pour tester et communiquer avec des serveurs distants. Cet article montre comment transmettre des données JSON via cURL à l'aide de quatre méthodes HTTP courantes : PUT, POST, GET et DELETE.
PUT
Cette méthode vous permet de mettre à jour une ressource. L'exemple de code PHP suivant montre comment envoyer des données JSON dans une requête PUT :
<?php $data = array('username' => 'dog', 'password' => 'tall'); $data_json = json_encode($data); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data_json))); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); ?>
POST
POST est utilisé pour créer une nouvelle ressource. Le code PHP ci-dessous montre comment envoyer des données JSON avec une requête POST :
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); ?>
GET
GET est conçu pour récupérer des ressources. Étant donné que les données JSON ne peuvent pas être ajoutées à une URL, vous devez les encoder et les transmettre en tant que paramètre de chaîne de requête. Reportez-vous à la réponse de @Dan H pour un exemple pratique d'envoi de données JSON avec une requête GET.
DELETE
La méthode DELETE supprime une ressource du serveur. Le code PHP suivant montre comment effectuer une opération DELETE avec des données JSON :
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); ?>
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!