2010-05-16 2 views
2

Considérons un script PHP qui délivre toutes les données POST, comme suit:XML d'affichage par l'intermédiaire de boucle (ligne de commande) sans utiliser de paires clé/valeur

<?php var_dump($_POST); ?> 

Le script est situé à http://example.com/foo.php.

Maintenant, je veux publier des données XML (sans utiliser de paires clé/valeur) en utilisant la ligne de commande curl. J'ai essayé de nombreuses variantes de ce qui suit:

curl -H "Content-type: text/xml; charset=utf-8" --data-urlencode "<foo><bar>bazinga</foo></bar>" http://example.com/foo.php 

Pourtant, aucun d'entre eux semblent poster quoi que ce soit - selon le script PHP, $_POST est juste un tableau vide.

Qu'est-ce que je fais mal ici?

Répondre

2

(Avertissement: Ma familiarité avec PHP passe et ancienne.)

Je crois que $ _POST ne fonctionne que si PHP peut analyser l'entrée comme les normales paires clé/valeur. Vous devez accéder directement aux données POST brutes. Cela peut être utile:

http://www.codediesel.com/php/reading-raw-post-data-in-php/

+0

Merci, en utilisant 'file_get_contents ('php: // input')' au lieu de '$ _POST' a fait l'affaire! –

Questions connexes