Que contient /tmp/wget.tmp après ta première requête ?
Ca correspond à ce que tu vois lorsque tu fais ta connexion par un navigateur type Firefox ?
oui c'est ça, c'est la page de connexion 🙂

ce que contient wget.tmp après la seconde requête est la page d'erreur me disant qu'il faut me logger. Le cookie.txt lui affiche une clé et deux FALSE.. je sais pas si c'est bon signe ou pas...

merci pour l'aide :-D le faire fonctionner pour noêl serait super.. !
Je parle du /tmp/wget.tmp après la 1ère requête 🙂
Voir si déjà ton authentification est correcte.
Je répète :hammer:
toi wrote:Ca correspond à ce que tu vois lorsque tu fais ta connexion par un navigateur type Firefox ?
moi wrote:oui c'est ça, c'est la page de connexion smile
Donc c'est bien la page de connexion que je vois après la première requête.

edit: tant que j'y étais j'ai décris tout, mais j'ai bien répondu !!
Désolé mes yeux ont du mal aujourd'hui 🙂

wget --save-cookies cookies.txt \
        --keep-session-cookies \
        --post-data 'ctl00_ContentMain_TxtNumGSM=NUMERO&ctl00_ContentMain_TxtCodeSecret=MOTDEPASSE' \
         -O - \
         "https://espace-client.simplicime.com/Pages/Identification/AccesDirect.aspx?idModule=13" \
         -p https://espace-client.simplicime.com/Pages/FactureConsos/InfosConso.aspx 2>/dev/null 1> /tmp/wget.tmp
ça ne fonctionnerait pas ça ? (peut-être sans le -p)
Disons que le p ne sert 'qu'à' télécharger tous les éléments de la page, pour mieux l'afficher.. a priori pas de souci, en revanche je trouve ça bizarre de mettre 2 urls comme ça, je vais essayé. C'est un test Sky ou tu es sûr de toi ?
Cela ne donne rien de probant, j'ai essayé sans le -O - pour pouvoir voir les messages d'erreur, et j'ai d'innombrables :
--2010-12-24 11:56:53--  https://espace-client.simplicime.com/images/ecare/SIM/menu/nav-arr-g.gif
Réutilisation de la connexion existante vers espace-client.simplicime.com:443.
requête HTTP transmise, en attente de la réponse... 405 Method Not Allowed
2010-12-24 11:56:54 ERREUR 405: Method Not Allowed.
-------------------------------------------------------------------------------

EDIT je précise que 2 étapes semblent nécessaires, d'après ce que j'ai lu,
1. Authentification et récupérartion des cookies
2. affichage de la page que l'on veut

voici où j'ai pêché les infos http://stackoverflow.com/questions/1324421/wget-post-data-hwto
je viens de trouver cet autre script qui semble être sans fautes :
#!/bin/sh

site=http://your site url with a slash on the end/
name=ScriptUser
pass=somethingsecure
cookies=/tmp/cron-cookies.txt

wget -O /dev/null --save-cookies /tmp/ba-cookies.txt --keep-session-cookies --load-cookies $cookies "${site}user"
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies -O /dev/null \
        --post-data="name=$name&pass=$pass&op=Log%20in&form_id=user_login" \
        "${site}user?destination=login_redirect"
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies "${site}login_redirect"
Mon problème c'est de savoir ce que je mets dans --post-data maintenant.. car c'est là que ça pause problème...
Il y a un gros problème car la validation n'était pas effective, d'une part, il y a bien un champs valeur contrairement à ce que l'on m'a dit, le voici :
<input type="submit" name="ctl00$ContentMain$BtnValider" value="VALIDER" onclick="afficherAttente();" id="ctl00_ContentMain_BtnValider" class="bouton_ok" />
d'après le script que j'ai mis au dessus il faudrait faire une requete de la sorte :
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies -O /dev/null \
        --post-data="ctl00$ContentMain$TxtNumGSM=$name&ctl00$ContentMain$TxtCodeSecret=$pass&ctl00$ContentMain$BtnValider=$value" \
        "${site}"
Pour moi la méthode POST (méthode HTTP utilisée pour envoyer les données) correspond au Valider, donc il suffit de mettre dans les data les valeurs correspondantes à celles transmises lorsque tu remplis le formulaire dans Firefox et ça devrait le faire.
heu là jte suis plus !
je précise que j'avais mis dans mon script value=VAILDER

Je comprends pas ce que tu veux dire, tu veux que je mette quoi où ?
En fait, par défaut, quand tu fais une requête vers un serveur web, elle est de type GET.
Pour envoyer des informations avec ta requête avec un type GET, ton URL doit être de la forme :
http://www.mondomaine.com/?var1=valeur1&var2=valeur2&var3=valeur3 ...
L'autre possibilité est de faire une requête POST où les valeurs n'apparaissent pas directement dans l'URL.

Dans ton cas, il s'agit d'une requête POST et pour moi le fait d'utiliser cette requête est équivalent à cliquer sur le bouton valider donc il n'est pas nécessaire de mettre
ctl00$ContentMain$BtnValider=$value

dans les données --post-data

GET/POST
d'accord j'ai pigé, bon par contre cela ne résout pas mon problème, le login n'est pas effectif.. de toute manière..
Out of Ideas 🙁
Désolé et bon courage !
Bonjour,

Pour me connecter au freewifi à partir d'un routeur sous Openwrt, j'ai utiliser le script suivant qui permet de se logger et de récupérer une chaine de caractères "CONNEXION AU SERVICE REUSSIE" après validation du login et du mdp.
#!/bin/sh
# /root/connect_freewifi.sh
# used some samples in 
#  - http://www.webynux.net/tutoriels/automatiser-la-connexion-a-freewifi-sous-ubuntu.html 
#  - http://forum.ubuntu-fr.org/viewtopic.php?pid=3157284
#--------
#  source : 27/02/2010
#   https://forum.openwrt.org/viewtopic.php?pid=102382
#--------

LOGIN=le pere 
PASSWORD=Noel


echo "*********************"
echo get an ip from dhcp
echo "*********************"
udhcpc -i wlan0 -b

echo
echo "************************************"
echo Posting authentication credentials
echo "************************************"

wget -O - --post-data="login=$LOGIN&password=$PASSWORD" "https://wifi.free.fr/Auth" > /tmp/free_wifi_step2.html
grep "CONNEXION AU SERVICE REUSSIE" /tmp/free_wifi_step2.html 1>/dev/null 2>&1 && logger "Connection FreeWifi OK" && echo "Connection FreeWifi OK"

echo "*****"
echo End
echo "*****"

J'avoue avoir parcouru le fil un peu vite peut être que je n'apporte pas grand chose de nouveau au problème.

En espérant être utile tout de même.

Bonnes fétes et Jouyeux Noẽl à tous.
SkyR713 wrote: Dans ton cas, il s'agit d'une requête POST et pour moi le fait d'utiliser cette requête est équivalent à cliquer sur le bouton valider donc il n'est pas nécessaire de mettre
ctl00$ContentMain$BtnValider=$value

dans les données --post-data
Si, c'est nécessaire, me semble. Du moins, ce n'est pas ce qui va faire échouer l'identification.
titimoi wrote: d'après le script que j'ai mis au dessus il faudrait faire une requete de la sorte :
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies -O /dev/null \
        --post-data="ctl00$ContentMain$TxtNumGSM=$name&ctl00$ContentMain$TxtCodeSecret=$pass&ctl00$ContentMain$BtnValider=$value" \
        "${site}"
Oui et ça ne fonctionne pas, j'imagine ?
T'as essayé d'envoyer la sortie vers un fichier (« -O out.txt » au lieu de « -O /dev/null ») ?

Je me demande si les caractères du genre « $ » n'auraient pas besoin d'être échappés. Après tout, ce caractère sert à indiquer le début d'une variable, en bash ...
Essaie avec :
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies -O /dev/null \
        --post-data="ctl00\$ContentMain\$TxtNumGSM=$name&ctl00\$ContentMain\$TxtCodeSecret=$pass&ctl00\$ContentMain\$BtnValider=$value" \
        "${site}"
merci pour ces réponses,
@Minifig : En faitcela m'aiderai beaucoup si tu regardais juste les derniers post, et si tu me postais l'input de la page de connexion de freewifi, voir à quoi ça ressemble..

@Difool: Merci pour le test, ce n'est pas plus concluant qu'avant, toujours la même page me disant qu'il faut être logé..

tu t'y connais assez en wget ? car je crois qu'il faudrait vérifier ma démarche depuis le début, en effet mon post-data est erroné et c'est certainement car je n'ai pas bien su lire les input, je vous poste ci dessous le résultat de
wget -O - "https://espace-client.simplicime.com/Pages/Identification/AccesDirect.aspx?idModule=13" 2>/dev/null 1> /tmp/wget.tmp
                            <div class="txtClrDefaut22 textbold alignerCentre">

                                Acc&eacute;der &agrave; mon compte

                            </div>

                            &nbsp;<br />

                            &nbsp;



                            <div class="contenu-centrer" style="width:240px;">

                                <div class="cellGriseFond" style="margin-bottom:5px; height:20px !important;">

                                    <div class="agauche" style="width:120px; padding-left:5px; padding-top:3px;">N&deg; de téléphone :</div>

                                    <div class="agauche" style="width:110px;">

                                        <input name="ctl00$ContentMain$TxtNumGSM" type="text" maxlength="10" id="ctl00_ContentMain_TxtNumGSM" class="champsTxt cellBlanche" onkeypress="ApplyRegExp(event,this,'OnKeyPress','[0-9]');" onpaste="javascript:ApplyRegExp(event,this,'OnPaste','[0-9]');" onblur="ApplyRegExp(event,this,'OnBlur','[0-9]');" style="width:90px;" />

                                    </div>

                                    <br class="clear" />

                                </div>



                                <div class="cellGriseFond" style="margin-bottom:5px; height:20px !important;">

                                    <div class="agauche" style="width:120px; padding-left:5px; padding-top:3px;">Code confidentiel :</div>

                                    <div class="agauche" style="width:110px;">

                                        <input name="ctl00$ContentMain$TxtCodeSecret" type="password" maxlength="4" id="ctl00_ContentMain_TxtCodeSecret" class="champsTxt cellBlanche" onkeypress="ApplyRegExp(event,this,'OnKeyPress','[0-9]');" onpaste="javascript:ApplyRegExp(event,this,'OnPaste','[0-9]');" onblur="ApplyRegExp(event,this,'OnBlur','[0-9]');" style="width:90px;" />

                                    </div>

                                    <br class="clear" />

                                </div>

                            </div>



                            <div id="listErreur" style="width:320px; padding-top:5px;" class="alignerCentre contenu-centrer">

                                <div id="ctl00_ContentMain_PnlErreur" class="erreur" style="padding-left: 20px">

            <div>



            </div><div>



            </div><div>



            </div><div>



            </div>

        </div>

                                

                            </div>

                            

                            <div class="contenu-centrer" style="width:320px;">

                                <div class="popUp_bouton alignerDroite" style="margin-right:10px;">

                                    <img src="/images/ecare/SIM/contenu/btn_ok_01.gif" border="0" /><input type="submit" name="ctl00$ContentMain$BtnValider" value="VALIDER" onclick="afficherAttente();" id="ctl00_ContentMain_BtnValider" class="bouton_ok" /><img src="/images/ecare/SIM/contenu/btn_ok_03.gif" border="0" />

                                </div>
de cela j'ai récupéré les input :

bouton valider : #name="ctl00$ContentMain$BtnValider" value="VALIDER"
code secret : #name="ctl00$ContentMain$TxtCodeSecret"
numéro de mobile:#name="ctl00$ContentMain$TxtNumGSM"

mais mon --post-data devrait peut-être avoir autre chose que les nom non ? qu'en est-il de l'id ?
Mes connaissances en wget sont limitées à l'usage que j'en fait. Par contre, j'ai déjà réussi à faire un script comme celui que tu comptes faire ...

Le post-data a l'air correct, seuls les champs « name » sont utiles. Les champs « id » servent surtout pour les feuilles de style.
Peut-être que l'url d'envoi des informations d'authentification est incorrecte ...

Après, je ne sais pas trop comment fonctionne ASP. Peut-être qu'il se sert de ces champs ID.

Tu peux toujours visualiser les informations qui transitent entre ton navigateur (firefox) et le serveur qui héberge le site en installant le module firebug et en activant l'onglet « réseau ».
Tu devrais voir les infos envoyées et vers quelle page.
🙂 merci pour ces infos, je testerai ça demain quand je rentrerai 😉 joyeux noël !