Requête POST sans formulaire - $_POST vide

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requête POST sans formulaire - $_POST vide

par Invité » 28 janv. 2008, 13:04

La fonction que je viens de citer requiert que le module http soit installé. J'ai réussi en utilisant la variable $HTTP_RAW_POST_DATA
Encore merci :)

par Invité » 28 janv. 2008, 12:48

Un grand merci pour ta réponse :),

Bien joué d'avoir pointé l'erreur. Malheureusement, je ne fais que recevoir la requête, elle est générée par le client "riche" (gaia à titer indicatif). Je ne peux donc pas la modifier.
Ensuite, ce que tu recuperes ne sont pas des données de formulaire mais un fichier xml directement.
Donc, pas besoin de $_POST.
C'est mon problème, je ne savais pas comment avoir accès au body de la requête... en fouillant un peu plus j'ai trouvé http_get_request_body ( void ) que je vais tester dans la foulée. C'est à ce type de fonction que tu pensais ?

par h0_noMan » 28 janv. 2008, 12:35

La requete semble mauvaise.

utf-8 est un Content-Encoding
Essaye plutot ca : Content-Type: text/html; charset=utf-8

Ensuite, ce que tu recuperes ne sont pas des données de formulaire mais un fichier xml directement.
Donc, pas besoin de $_POST.

Requête POST sans formulaire - $_POST vide

par Invité » 28 janv. 2008, 12:04

Bonjour à tous,

Je ne sais pas comment récupérer le contenu d'une requête HTTP POST un peu "particulière" pour moi. En effet, c'est dernière est issue par un logiciel client "riche" et non un formulaire HTML. Il n'y a pas de paramèters passés "à proprement parler" et le tableau $_POST est donc vide...
Pour clarifier un peu, voici ce que me donne le sniffer HTTP que j'utilise :

Code : Tout sélectionner

POST http://mydevserver.mydomain.com/myscript.php? HTTP/1.1 Content-Type: utf-8 Host: dev1.dmsolutions.ca Content-Length: 339 Expect: 100-continue <?xml version="1.0" encoding="utf-8"?><myXMLTag>myXMLTagValue</myXMLTag>HTTP/1.1 100 Continue
Quelqu'un pourrait-il m'aiguiller ?

Merci d'avance[/code]