Requête http: envoyer une variable

你好

Je veux envoyer une variable dans une requête http POST mais j’ai du mal à l’écrire
<code 4D>
$T_Body:="<input type=“text” value="+JSON Stringify($O_Payload)+" name=“json”>"

C_LONGINT($coderesult)
C_TEXT($reponse)
$coderesult:=HTTP Request(HTTP POST method;$T_URL;$T_Body;$reponse;$headerName;$headerValue)

</code 4D>

La variable sera récupérée grâce à:
<code 4D>
WEB GET VARIABLES($rT_names;$rT_values)
</code 4D>

Qui ne fait pas le pont ce week-end ?

Bonjour,

Tu peux soit faire un POST et mettre les paramètres dans l’url et avoir un body vide.

url : http://foo.com?prm1=hello&prm2=World
Code :
POST / HTTP/1.1
Host: foo.com
Content-Length: 0

ou envoyer les paramètres dans le body comme ceci :

url : http://foo.com

Code :

POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 21

prm1=hello&prm2=World

Il te faut une méthode pour faire le url encode des paramètres

a tester

Bruno,

Voila ce que j’essaie de faire sans succès:
[]30129762;“Your comment here…”[/]

C’est bon, voici comment passer une requête avec des variables:

  • Tableau entete en text/ plain (et si on ne met rien 4D va s’adpater)
  • Le body : ne pas se mélanger avec la façon de faire un formulaire html :wink:

<code 4D>
C_TEXT($T_URL)
$T_URL:=“192.168.0.10:8080/user_add”

ARRAY TEXT($headerName;0)
ARRAY TEXT($headerValue;0)
APPEND TO ARRAY($headerName;“Content-Type”)
APPEND TO ARRAY($headerValue;“text/plain”)

$T_Body:=“var1=test1&var2=test2”

C_LONGINT($coderesult)
C_TEXT($reponse)
$coderesult:=HTTP Request(HTTP POST method;$T_URL;$T_Body;$reponse;$headerName;$headerValue)

</code 4D>

Salut Bertrand,

Sinon, tu peux regarder avec les outils de développement web ou un outil de type HTTP Scoop les données échangées en http pour regarder ce qu’envoie le navigateur quand tu valides un formulaire. :wink:

Bonjour,

Je te conseilles quand même de faire attention à l’encodage des paramètres en urlencoded, tu dois utiliser une fonction pour le faire et éviter des problèmes (y compris des problèmes de sécurité).

: Bruno LEGAY

Je te conseilles quand même de faire attention à l’encodage des
paramètres en urlencoded, tu dois utiliser une fonction pour le faire
et éviter des problèmes (y compris des problèmes de sécurité).

Merci. Dans mon cas je passe les infos par le corps et non par l’url

Ben teste avec une valeur qui contient “&” et on en reparle ?

: Bruno LEGAY

Ben teste avec une valeur qui contient “&” et on en reparle ?
De ce pas :razz: