Page 1 sur 1
[R] Envoi d'une requête POST.
Posté : sam. 10 déc. 2011 19:07
par matcarto
Bonjour à tous,
Cela fait longtemps que je cherche comment envoyer des requêtes post en Autoit afin de valider des formulaires sans utiliser le webbrowser.
J'avais trouvé un script d'un membre de ce forum qui envoyait un fichier en ligne en utilisant une requête post mais je n'ai pas réussi à l'adapter à ce que je veux faire... :/
Je veux simplement envoyer une requête en transmettant des paramètres.

J'y arrive très bien pour les requêtes GET en utilisant inetread mais je bloque pour les requêtes posts.
Est-ce que quelqu'un pourrait m'aider ?

Re: [..] Envoi d'une requête POST.
Posté : sam. 10 déc. 2011 19:22
par bloodwolff
Re: [..] Envoi d'une requête POST.
Posté : sam. 10 déc. 2011 22:43
par matcarto
Ok, je vais regarder.
Pour moi ce serait : _WinHttpSimpleSendRequest ?
Tu utilises ça comment, j'ai du mal avec leur doc... :/
Re: [..] Envoi d'une requête POST.
Posté : mar. 13 déc. 2011 19:01
par matcarto
Personne ne connait la syntaxe ?

Re: [..] Envoi d'une requête POST.
Posté : mar. 13 déc. 2011 20:00
par bloodwolff
Un exemple tirée directement de leur doc,
Code : Tout sélectionner
#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include "WinHttp.au3"
Opt("MustDeclareVars", 1)
; Initialize and get session handle
Global $hOpen = _WinHttpOpen("Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9.0.3; .NET CLR 2.0.50727; ffco7) Gecko/2008092417 Firefox/3.0.3")
; Get connection handle
Global $hConnect = _WinHttpConnect($hOpen, "autoit.de")
; Simple-request it...
MsgBox(64, "Returned (first 1400 characters)", StringLeft(_WinHttpSimpleRequest($hConnect), 1400) & "...")
; Close handles
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)
Code : Tout sélectionner
_WinHttpSimpleRequest($hConnect, $sType, $sPath [, $sReferrer = Default [, $sData = Default [, $sHeader = Default [, $fGetHeaders = Default [, $iMode = Default ]]]]])
$sType [optional] GET or POST (default: GET)
$sData [optional] POST-Data (default: $WINHTTP_NO_REQUEST_DATA)
Je ne vois pas comment sa pourrais être plus simple, si tu ne souhaite pas recevoir la réponse tu peux faire la même chose mais remplacer "_WinHttpSimpleRequest" par "_WinHttpSimpleSendRequest"
Code : Tout sélectionner
#include "WinHttp.au3"
$hOpen = _WinHttpOpen()
$hConnect = _WinHttpConnect($hOpen, "Adresse du formulaire")
_WinHttpSimpleSendRequest($hConnect, "Post", Default, Default, "Donnée à envoyer")
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)
Re: [..] Envoi d'une requête POST.
Posté : sam. 17 déc. 2011 19:01
par matcarto
Merci beaucoup, c'est résolu.
L'erreur venait de moi, l'url du formulaire n'était pas correcte...
