Maison >développement back-end >tutoriel php >Comment envoyer des requêtes JSON POST en PHP en utilisant CURL ?

Comment envoyer des requêtes JSON POST en PHP en utilisant CURL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-13 12:27:02667parcourir

How to Send JSON POST Requests in PHP using CURL?

Faire des requêtes JSON POST en PHP

L'envoi de requêtes POST avec des données JSON est une tâche courante dans le développement Web. En PHP, CURL est une excellente bibliothèque pour gérer ces requêtes.

Exemple de code

Le code PHP suivant montre comment envoyer une requête JSON POST à ​​l'aide de CURL :

$url = "your url";
$content = json_encode("your data to be sent");

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
        array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

$json_response = curl_exec($curl);

$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

if ( $status != 201 ) {
    die("Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl));
}

curl_close($curl);

$response = json_decode($json_response, true);

Explication du Le code

  • curl_init() initialise une session CURL.
  • curl_setopt() définit diverses options pour le séance, telle as :

    • CURLOPT_HEADER : Désactiver la sortie d'en-tête.
    • CURLOPT_RETURNTRANSFER : Renvoie la réponse sous forme de chaîne au lieu de faire écho it.
    • CURLOPT_HTTPHEADER : Définissez l'en-tête "Content-type" sur "application/json".
  • curl_setopt() définit le POST paramètres.
  • curl_exec() exécute la requête CURL.
  • curl_getinfo() récupère le code d'état HTTP.
  • curl_close() ferme la CURL session.

Si le code d'état HTTP n'est pas 201 (Créé), une erreur est générée.

  • json_decode() analyse la réponse JSON .

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn