Comment envoyer des premières données POST avec cURL? (PHP)
Je suis d'essayer d'envoyer des premières données POST à une page en utilisant $HTTP_RAW_POST_DATA, mais mes tentatives ont échoué et un undefined index préavis a été donné.
J'ai tenté le suivant:
curl_setopt($handle, CURLOPT_POSTFIELDS, 'Raw POST data'); //Doesn't seem to work at all.
curl_setopt($handle, CURLOPT_POSTFIELDS, array('Raw POST data')); //0 => Raw POST data
J'ai fait quelques recherches et quelques personnes avaient suggéré l'envoi d'un en-tête (Content-Type: text/plain) dans la requête, qui n'a pas semblé affecter quoi que ce soit.
Si quelqu'un est en mesure de fournir une solution à ce problème je vous en serais très reconnaissante. Merci!!!!
OriginalL'auteur user1488335 | 2012-10-27
Vous devez vous connecter pour publier un commentaire.
Vous obtenez une erreur dans le réponse partie de votre émetteur-récepteur cycle.
Alors que cela pourrait très bien être un problème de la expéditeur (ce qui ne veut pas envoyer une demande), elle peut aussi être causée par une mauvaise configuration dans le réception script PHP. À l'esprit, même si la demande est correcte, le récepteur peut néanmoins pas
HTTP_RAW_POST_DATA
disponibles.Voir: http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data
Donc la première chose à vérifier est de savoir si
$HTTP_RAW_POST_DATA
est en effet peuplé à partir de la page ci-dessus exige soit:always_populate_raw_post_data
est Vrai,Content-Type
que le POSTE de gestionnaire ne reconnaît pas (peut-être que l'on pourrait utiliser "text/raw")À ce point de vue, la façon correcte de l'envoi de données serait
Toutefois, notez que la manière recommandée de la réception de ces données serait de ne pas compter sur
$HTTP_RAW_POST_DATA
à tous, mais à lire le contenu du fichier virtuelphp://input
.Eh bien, dans ce cas, vous pouvez définir le toujours-remplir-raw-post-données de réglage dans le PHP.INI; ou vous pouvez envoyer un "non reconnus" (quelle que soit la que signifie) "type MIME" pour forcer la population de
$HTTP_RAW_POST_DATA
. La mise à jour de la réponse...Cette réponse semble sans rapport avec la question d'origine, qui était vraiment à propos de l'exécution d'une requête HTTP à l'aide de libcurl à partir de PHP et pas sur l'accès aux données POST envoyé à un script PHP en cours d'exécution dans un serveur web.
la question d'origine a décrire un undefined index erreur tout en accédant à des données POST depuis le script PHP s'exécute dans un serveur web. Je vais sans doute admettre que, dans ce cas précis, l'erreur était dans le script d'envoi, mais la solution que j'ai donné est liée à une situation, je l'ai observé de première main, et de savoir à se produire. Alors qu'il n'est pas une réponse pour ce cas précis, il peut bien être pour quelqu'un d'autre à la recherche de la même chose.
OK, désolé pour le downvote, ne se rendent pas compte que le script PHP, en effet, les données reçues dans
$HTTP_RAW_POST_DATA
avant le regroupement dans une autre requête HTTP, donc votre réponse peut être utile. Mon vote est verrouillé, mais je vais l'annuler si vous modifier votre réponse.OriginalL'auteur LSerni
Pour une raison étrange, ladite tête de chose semble pour le fixer, auparavant, il n'était pas de travail, je ne suis pas sûr pourquoi cela fonctionne maintenant.
De toute façon, pour ceux qui ne connaissent pas voici le code:
OriginalL'auteur user1488335