Page 1 sur 1

http requests autoit

Posté : mer. 04 oct. 2017 15:24
par FF2Damien
Bonjour a tous, je suis entrain de suivre un tutoriel concernant les request HTTP suivant ce site :
https://beamtic.com/http-requests-autoit

Le but de l'exercice consiste a se loguer sur le site :
http://beamtic.com/Examples/http-post.php

Si l'on est pas loggué, le site retourne :
Is this your first time here? Why not tell us about yourself?
Par contre si l'on est loggué, le site retourne :
Hallo Jacob Your best bench of 150 appears valid.
Donc je cherche a me logger avec ce code :
; The data to be sent
$sPD = 'name=Jacob&bench=150'


; Creating the object
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("POST", "http://beamtic.com/Examples/http-post.php", False)
$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")

; Performing the Request
$oHTTP.Send($sPD)

; Download the body response if any, and get the server status response code.
$oReceived = $oHTTP.ResponseText
$oStatusCode = $oHTTP.Status

If $oStatusCode <> 200 then
 MsgBox(4096, "Response code", $oStatusCode)
EndIf

; Saves the body response regardless of the Response code
 $file = FileOpen("Received.html", 2) ; The value of 2 overwrites the file if it already exists
 FileWrite($file, $oReceived)
 FileClose($file)


Si je viens lire le code source a la fin en faisant un :
MsgBox(4096, "Response code", $oReceived)
Est ce que je devrais voir apparaire dans mon code source la phrase :
Hallo Jacob Your best bench of 150 appears valid.
:?: :?: :?:

Ce n'est pas le cas pour moi :oops:
Comment voir si je suis bien loggué ?

Merci :wink:

Re: http requests autoit

Posté : mer. 04 oct. 2017 20:32
par orax
Le code est correct, mais ça ne semble marcher qu'en "https".

Code : Tout sélectionner

$oHTTP.Open("POST", "https://beamtic.com/Examples/http-post.php", False)

Re: http requests autoit

Posté : jeu. 05 oct. 2017 06:42
par FF2Damien
@Orax, merci ! effectivement ça fonctionne avec HTTPS...
En connais tu la raison ? Quel raisonnement as tu eu pour trouver cette solution ?
Jamais je n'aurais pu trouver ça tout seul.

Connais tu des exercices a pratiquer a ce sujet ?

merci
++

Re: http requests autoit

Posté : jeu. 05 oct. 2017 08:29
par mikell
Personnellement mon raisonnement a été de regarder la barre d'adresses de mon Firefox après avoir cliqué sur le 1er lien de ton 1er post :mrgreen:
Comme exercices tu peux essayer de te logger par ce moyen sur d'autres sites qui demandent une insciption, pour certains ce n'est pas si simple
Mais je n'y connais pas grand chose... voir orax pour les détails techniques :wink:

Re: http requests autoit

Posté : jeu. 05 oct. 2017 19:10
par orax
J'ai eu le même raisonnement que Mikell. Quand on va sur http://beamtic.com on est redirigé sur https://beamtic.com donc j'ai essayé en https, mais je ne pouvais pas savoir que ça allait marcher.
C'est peut-être lié à un problème de configuration du serveur.
Pour voir ce qui est envoyé par le navigateur, je m'aide généralement de Firebug ou des "outils de développement" intégrés au navigateur. En général, on peut y accéder en appuyant sur F12.
Firefox+Firebug.png
Pour le reste, il faut se reporter à la documentation sur MSDN : WinHTTP WinHttpRequest COM object. C'est un objet COM donc on peut trouver des exemples dans d'autres langages qu'AutoIt. Il suffit ensuite de les adapter à la syntaxe d'AutoIt.

Re: http requests autoit

Posté : ven. 06 oct. 2017 21:45
par FF2Damien
Effectivement, la redirection n'est pas la même.
Génial ce firebug, je ne connaissais pas, je vais pouvoir m'exercer sur les requêtes maintenant que je peux voir ce qui est émis.
Merci pour le tuyo.

Re: http requests autoit

Posté : ven. 06 oct. 2017 23:13
par FF2Damien
Alors une fois qu'on connait les paramètres (ou méthodes ?) du post, je trouve ça simple, enfin ca dépend des sites web...
Merci encore.

Maintenant j'aimerais me connecter à ce site avec mon login et pwd, en utilisant cette méthode ; puis naviguer normalement avec ma souris et mon clavier devant une page IE ?
Quand on ouvre le fichier Received.html, on est bien connecté, mais on ne peu pas naviger
je sèche. il me semble qu'on ne peu pas retransformer ou lire un objet ? une solution ?

Re: http requests autoit

Posté : sam. 07 oct. 2017 12:52
par orax
Si tu veux automatiser Internet Explorer, c'est totalement différent, il n'y a aucun rapport avec WinHttpRequest. Il faut voir les fonctions qui commencent par _IE, par exemple _IECreate.