Je souhaite m'authentifier sur un site.
Je ne souhaite pas utiliser ie.au3 (cela fonctionne par cette méthode mais elle est très gourmande en mémoire et processus puisque cela lance internet explorer).
La méthode d'authentification est la suivante:
-Récupération d'un nonce à partir d'une première requête
-Calcul du token selon la formule donnée par le site:
-Envoi d'une requete d'authentification contenant le token et le usernameImplementation Notes
Use this algorithm to calculate the token from nonce and password:
where SHA1 has hex encoded output like sha1sum commandCode : Tout sélectionner
token = SHA1(nonce + SHA1(password))
This linux command line sample works:
A nonce CAN NOT be reused. The nonce returned by last /user operation MUST be used for calculating the token.Code : Tout sélectionner
sha=`echo -n "$password" | sha1sum | awk '{print $1}'` token=`echo -n "$nonce$sha" | sha1sum | awk '{print $1}'`
J'utilise un UDF SHA1.au3 obtenu à cette adresse: http://www.autoitscript.com/forum/topic ... e-version/
Voici mon code:
Code : Tout sélectionner
#include <string.au3>
#include <array.au3>
#include <sha1.au3>
$username="******.*******%40gmail.com"
$password="************"
;Récupération de la page d'init
$array=_StringBetween(BinaryToString(InetRead("https://my.zipato.com:443/zipato-web/rest/user/init"),4),'"','"')
;Récupération de "nonce" en le convertissant en hexa
$nonce=StringTrimLeft(StringToBinary($array[4]),2)
;Calcul du sha
$sha = _SHA1($password)
;Calcul du token
$token= StringTrimLeft(_SHA1($nonce&$sha),2)
;Envoi de la requete contenant le username et le token
$result=BinaryToString(InetRead("https://my.zipato.com:443/zipato-web/rest/user/login?username="&$username&"&token="&$token),4)
ConsoleWrite("https://my.zipato.com:443/zipato-web/rest/user/login?username="&$username&"&token="&$token&@cr&$result)
Est-ce que je fais une erreur bête quelque part?
Je pense que c'est la retranscription de la formule à appliquer qui est mauvaise mais je ne vois pas comment faire...
Merci d'avance pour votre aide !



