Segue da AriaDSL Autologin /1.
Visto che la funzione che esegue l'hash MD5 è scritta in Javascript e visto che non avevo assolutamente voglia di convertirla decisi di adottare Windows Scripting Host per automatizzare la procedura, con la consapevolezza che in seguito un (eventuale) porting su Linux sarebbe stato difficoltoso, ma anche curioso di imparare a usare questo strumento. L'idea generale è rappresentata dal corpo dello script:
var strURL = "http://login.ariadsl.it/login" var strPopupTitle = "Connessione ad AriaDSL"; autoConnect(); function autoConnect() { // 1. scarica la pagina di login var strLoginPageBody = getPage(strURL); // 2. estrae la 'password' generata dal sistema e ne fa l'hash MD5 var strPassword = extractPassword(strLoginPageBody); var charStringPassword = convertToCharString(strPassword); var strMD5 = hexMD5(charStringPassword); var strUsername = "ariadsl"; // 3. prepara la chiamata alla pagina di login con i parametri var strParms = ""; strParms = buildParametersList(strParms, "username", strUsername); strParms = buildParametersList(strParms, "password", strMD5); strParms = buildParametersList(strParms, "popup", "true"); strParms = buildParametersList(strParms, "dst", ""); // 4. invia la richiesta var resultPage = postPage(strURL, strParms); var WshShell = WScript.CreateObject("Wscript.Shell"); // 5. visualizza un messaggio di successo/fallimento if (resultPage.indexOf("You are logged in")<0) { intButton = WshShell.Popup("Problema con la connessione!", 60, strPopupTitle, 21); if (intButton==4) { autoConnect(); } else { intButton = WshShell.Popup("Connessione non effettuata!", 10, strPopupTitle, 16); } } else { intButton = WshShell.Popup("Connessione effettuata con successo", 5, strPopupTitle, 64); } }
Le funzioni invocate verranno descritte in un post successivo (continua)
Nessun commento:
Posta un commento