http requests autoit

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
FF2Damien
Niveau 1
Niveau 1
Messages : 14
Enregistré le : jeu. 17 mars 2016 15:24
Status : Hors ligne

http requests autoit

#1

Message 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:
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: http requests autoit

#2

Message 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)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
FF2Damien
Niveau 1
Niveau 1
Messages : 14
Enregistré le : jeu. 17 mars 2016 15:24
Status : Hors ligne

Re: http requests autoit

#3

Message 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
++
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: http requests autoit

#4

Message 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:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: http requests autoit

#5

Message 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.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
FF2Damien
Niveau 1
Niveau 1
Messages : 14
Enregistré le : jeu. 17 mars 2016 15:24
Status : Hors ligne

Re: http requests autoit

#6

Message 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.
FF2Damien
Niveau 1
Niveau 1
Messages : 14
Enregistré le : jeu. 17 mars 2016 15:24
Status : Hors ligne

Re: http requests autoit

#7

Message 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 ?
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: http requests autoit

#8

Message 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.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Répondre