Maison  >  Article  >  développement back-end  >  Que dois-je faire si php ne peut pas recevoir de données XML ?

Que dois-je faire si php ne peut pas recevoir de données XML ?

藏色散人
藏色散人original
2022-10-24 11:19:101148parcourir

Solutions lorsque php ne peut pas recevoir de données XML : 1. Utilisez la méthode "file_get_contents('php://input');" pour recevoir des données XML ; 2. Utilisez "simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement' , LIBXML_NOCDATA);" méthode pour recevoir des données XML.

Que dois-je faire si php ne peut pas recevoir de données XML ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.

Que dois-je faire si php ne peut pas recevoir de données XML ?

Concernant certains problèmes avec PHP acceptant le XML, simplexml_load_string ne peut pas recevoir de données

Utilisez généralement ces deux méthodes pour accepter les données XML

Méthode 1 :

file_get_contents('php://input');

Méthode 2 :

simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement', LIBXML_NOCDATA);

Il est recommandé d'utiliser la méthode 1 et la méthode 2 en PHP La version avec une version supérieure a été supprimée

---------------------Belle ligne de démarcation-------------- - ---

Avant-propos : Les projets de l'entreprise sont un peu anciens, et ils utilisent tous la méthode 2.

Problème : lorsque j'utilise curl pour demander une interface écrite par d'autres, la méthode 2 ne peut pas la recevoir, mais la méthode 1 le peut.

Solution : après le test, le type de contenu dans le paramètre cur qui doit être défini est text/xml

Code : curl_setopt($curl, CURLOPT_HTTPEADER, array("Content-Type: text/xml; charset=utf- 8" ));

La valeur par défaut de Content-Type dans le paramètre cur de PHP est application/x-www-form-urlencoded, tmd ! L'utilisation de la méthode 2 déterminera le type de contenu de l'en-tête de la requête http

Apprentissage recommandé : "Tutoriel vidéo PHP"

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