Tom's Guide > Forum > Programmation > Connexion automatique à un hotspot neuf
Mot :    Pseudo :           
 

Bonsoir !

Actuellement sous windows vista, j'aimerais savoir comment faire pour que la page de connexion hotspot se log toute seule tout le temps (faire comme si on avait jamais de coupure quoi...)

Elle se déconnecte toutes les deux heures et c'est assez génant

J'ai trouvé une solution en shell mais je ne sais pas si cela marche, si quelqu'un pouvais y regarder...
Et comment lancer ce .sh automatiquement tout le temps ? Avec quel programme ?

Merci à tous


Code :
  1. #!/bin/bash
  2. url="https://hotspot.neuf.fr/nb4_crypt.php"
  3. okmatch="licitations"
  4. login="000000"
  5. password="000000"
  6. # quel que soit le site visité, on sera redirigé vers le
  7. # portail captif qui génerera un token. L'utilisation du switch
  8. # -L permet de suivre la redirection de type 302
  9. challenge=`curl -L http://www.google.com|grep name=\"challenge|sed -r 's/.*value=\"([0-9a-z]+)\".*/\1/'`
  10. #echo "challenge: ${challenge}"
  11. # la phase 2 renvoie une réponse au token
  12. response=`curl -L -d "username=${login}&password=${password}&cond=on&accessType=neuf&nb4=https://hotspot.neuf.fr/nb4_crypt.php&challenge=${challenge}" ${url}|grep response=|sed -r 's/.*response=([0-9a-z]+).*/\1/'`
  13. #echo "reponse: ${response}"
  14. # enfin, un refresh renvoie sur une page qui attend la
  15. # réponse précedente pour activer la connexion
  16. final=`curl -L "http://192.168.2.1:3990/logon?username=ssowifi.neuf.fr/${login}&response=${response}&uamip=192.168.2.1&userurl=http%3A%2F%2Fwww.fon.com%2Ffr%2Flanding%2Ffoneroneufbox%3Bfon%3B%3B&lang=fr&ARCHI"|grep ${okmatch}`
  17. if [ ! -z "${final}" ];then
  18.         echo "connected"
  19. else
  20.         echo "connection failed, one more time"
  21.         sleep 30
  22. url="https://hotspot.neuf.fr/nb4_crypt.php"
  23. okmatch="licitations"
  24. login="000000"
  25. password="000000"
  26. # quel que soit le site visité, on sera redirigé vers le
  27. # portail captif qui génerera un token. L'utilisation du switch
  28. # -L permet de suivre la redirection de type 302
  29. challenge=`curl -L http://www.google.com|grep name=\"challenge|sed -r 's/.*value=\"([0-9a-z]+)\".*/\1/'`
  30. #echo "challenge: ${challenge}"
  31. # la phase 2 renvoie une réponse au token
  32. response=`curl -L -d "username=${login}&password=${password}&cond=on&accessType=neuf&nb4=https://hotspot.neuf.fr/nb4_crypt.php&challenge=${challenge}" ${url}|grep response=|sed -r 's/.*response=([0-9a-z]+).*/\1/'`
  33. #echo "reponse: ${response}"
  34. # enfin, un refresh renvoie sur une page qui attend la
  35. # réponse précedente pour activer la connexion
  36. final=`curl -L "http://192.168.2.1:3990/logon?username=ssowifi.neuf.fr/${login}&response=${response}&uamip=192.168.2.1&userurl=http%3A%2F%2Fwww.fon.com%2Ffr%2Flanding%2Ffoneroneufbox%3Bfon%3B%3B&lang=fr&ARCHI"|grep ${okmatch}`
  37. if [ ! -z "${final}" ];then
  38.         echo "connected"
  39. else
  40.         echo "connection failed, lets cron retry"
  41. fi

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
- 0 +

Salut,

Tu as un script bash alors que tu es sous Vista...

Sinon, pour exécuter un fichier tous les X temps, tu as le planificateur de tâches disponible dans Accessoires / Outils système

Répondre à OmaR

Tu as un script bash alors que tu es sous Vista...

Est-ce que je vais pouvoir le faire fonctionner ?
Si non, est-ce possible d'en créer un pour vista ?
Si oui, je le mets dans un bloc note, enregistrer en .sh et je le mets dans le planificateur de tâches toutes les 2h et c'est bon ?

Répondre à simdu80
- 0 +

Bah un script sh est destiné à un système unix, je ne sais pas si c'est possible d'exécuter un script sh, pas à ma connaissance en tout cas.

Répondre à OmaR

Ben quand je l'enregistre en .sh il me dit : .dll commune du Shell

Sinon tu pourrais me dire quel script serait adapter dans ce cas là ?

Je t'explique vite fait, toutes les deux heures, je dois me réidentifier sur la hotspot (déconnexion automatique) et je ne voudrais pas faire cela tout le temps, donc il me faudrait un script qui le fasse seul, comme ça quand je suis pas là il reste connecté sur internet.

Merci beaucoup :)

Répondre à simdu80

Utilise Cygwin pour faire tourner ton script bash.

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

SiM07, mon script marchera avec Cygwin ? Il est correct ? (j'ai trouvé ça sur le net...)

J'ai essayé avec tache planifié et ça ne marche pas

Chose que je ne comprends pas trop :
j'ai copié le code dans un blocnote, enregistré en .sh (tous les fichiers et non .txt) puis mis sur mon bureau.
Donc j'installe Cygwin, et que dois-je faire après ? (un mini tuto si c'est possible)

Répondre à simdu80

Je ne sais pas plus.

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

Quelqu'un pourrait regarder mon script et mon dire s'il semble fonctionner avec Cygwin ?

A la base il est fait pour cron donc je me demande...

Merci beaucoup

Répondre à simdu80

Oui il doit pouvoir fonctionner avec Cygwin, cygwin permet d'exécution de script bash sous Windows.

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

ok ok je viens d'installer Cygwin, de le lancer, et un genre de page "dos" apparait, quel marche à suivre pour mettre un fichier à lancer toutes les x min ?

Merci

Répondre à simdu80
- 0 +

Tu te sers de cron pour l'exécuter tous les X heures :
http://csc.csudh.edu/kleyba/cygwin-cron.pdf

Répondre à OmaR

Hum je n'y comprends pas grand chose, je vais regarder ça plus en détail, mais si tu as à peu près le même en français, si c'est plus compréhensible, merci de me l'indiquer.

Répondre à simdu80
- 0 +

Et bien il y a l'installation étape par étape de cygwin, avec l'installation de cron. Car lors de l'installation de cygwin, tu as la possibilité d'installer cron, je ne sais pas si tu l'as fait lors de ton installation...
Après, on t'indique quelques commandes à taper pour configurer cron, si tu l'as bien fait tu devrais avoir le service correspondant dans les services windows (tape la commande services.msc) pour avoir la liste des services windows.

Ensuite tu créé ton fichier avec ton script bash, et tu le fait exécuter avec cron. Pour apprendre à te servir de cron, tu peux regarder ce lien : http://doc.ubuntu-fr.org/cron

Répondre à OmaR

je comprends déjà mieux l'utilisation de Cygwin, j'ai installé ce qu'il me fallait (toute la partie admin) mais quand je lance Cygwin pour rentrer ces valeurs, ça ne marche pas :

chmod +r etc/passwd
chmod +r etc/group


Il me dit :
chmod : changing permission of etc/passwd (ou /group) : permission denied

Pour info, j'ai windows vista et je pense que c'est à cause des permissions système, mais c'est pas moi le pro...

Répondre à simdu80
- 0 +

je suis pas sur que tu puisses changer les droits sur ces fichiers de toute manière... qu'est ce que tu veux faire avec ces fichiers ?

Répondre à OmaR

Ben c'est à faire dans le tuto anglais que tu m'as mis... :

http://csc.csudh.edu/kleyba/cygwin-cron.pdf

Sinon je n'arrive pas à configurer Cron, quand il me demande un mot de passe, je le mets, il me redemande de le retaper, je remets le même, logique, et puis après ça me mets que le fichier n'est pas modifiable... Je pense que ça viens de là...

Répondre à simdu80
- 0 +

Ah pardon, j'avais pas fait attention.

Cygwin ne t'a pas demandé de créer un mot de passe admin lorsque tu l'as installé ? Ca fait longtemps que j'ai pas utilisé Cygwin, je ne me souviens plus si tu es directement en root ou pas, mais ça m'étonnerait.
Avant de taper les deux commandes chmod, essaie de taper la commande su

Répondre à OmaR

"user root does not exist..."

Voilà ce qu'il me dit :(

Cygwin ne m'a pas demandé de mot de passe...

Répondre à simdu80
- 0 +

Sur un autre site, ils ne parlent pas de la modification des droits sur les deux fichiers ( http://www.newmedialogic.com/node/33 )

Tu avais lancé la commande cron-config ? Qu'est ce que ça a donné ?
C'est à quel moment que ça te demande un mot de passe que tu dois taper 2 fois ?

Répondre à OmaR

Voilà exactement le problème :


http://img88.imageshack.us/img88/5549/sanstitrexi5.jpg
http://img88.imageshack.us/img88/sanstitrexi5.jpg/1/w671.png

Répondre à simdu80
- 0 +

Ok, vu que tu as répondu non à la question "Do you want to the cron deamon to run as yourself?", il essaie de trouver un compte qui a des privilèges, vu qu'il en trouve pas, il veut essayer d'en créer un.

Vu que tu ne vas utiliser cron qu'avec ton compte utilisateur, répond oui à cette question, et tu ne devrais pas avoir de problèmes pour la suite.

Répondre à OmaR

Voilà ce qu'il me donne du coup :

Arf' rien ne va :(


http://img156.imageshack.us/img156/9169/sanstitreyn4.jpg
http://img156.imageshack.us/img156/sanstitreyn4.jpg/1/w657.png

Répondre à simdu80
- 0 +

Essaie d'exécuter cygwin en tant qu'administrateur

Répondre à OmaR

La case "exécuter en tant qu'administrateur" est grisé
(j'ai fait clic droit, propriété et compatibilité.

J'ai regardé mon compte utilisateur, je suis bien administrateur du système...

Répondre à simdu80

J'ai maintenu MAJ, j'ai cliqué droit sur Cygwin, j'ai fait : executer en tant qu'admin, et je crois avoir réussi...

J'obtiens ceci maintenant :

http://img172.imageshack.us/img172/8111/sanstitrejo9.jpg
http://img172.imageshack.us/img172/sanstitrejo9.jpg/1/w674.png

J'ai un serive (cron deamon) maintenant...
Mais je crois qu'il y a encore des problèmes...

Répondre à simdu80
- 0 +

Hmm... donc là il a pas réussi à démarrer le service.
Tu peux essayer de le démarrer à la main (tu vas dans services.msc et tu démarres le services correspondant).
Tu devrais pouvoir utiliser cron après.

Répondre à OmaR

Erreur 1069 : L'échec d'ouverture de session a empêché le démarrage du service...


EDIT :
Dans les options du service, j'ai modifié le type de connexion... J'ai doublé cliqué dessus, j'ai pris l'onglet "connexion", j'ai mis "compte système local" (je n'ai pas coché l'option "interagir avec le bureau".

Est-ce bon ???
Si oui, comment exécuter le script maintenant ?


Message édité par simdu80 le 13-01-2009 à 16:00:20
Répondre à simdu80
- 0 +

Tu as réussi à le démarrer le service ou pas au final ?

Si oui, maintenant :

Citation :

Ensuite tu créé ton fichier avec ton script bash, et tu le fait exécuter avec cron. Pour apprendre à te servir de cron, tu peux regarder ce lien : http://doc.ubuntu-fr.org/cron



Au départ, il faudra que tu fasses un crontab -e pour créer le fichier de cron. Après, il faudra ajouter une ligne dans ton fichier de cron pour lancer ton fichier. Tu peux trouver toutes les infos dans le lien que je t'ai donné.

Répondre à OmaR

Voilà ce que me donne crontab -e.

http://img118.imageshack.us/img118/4593/sanstitrexb6.jpg
http://img118.imageshack.us/img118/sanstitrexb6.jpg/1/w679.png

A noté que quand j'essaie de lancer crontab.exe qui se trouve dans le dossier de Cygwin, il m'ouvre une invite de commande qu'il referme aussitot (pas le temps de lire...)



Voilà pour ce qu'il est du service, je pense qu'il est bien activé ce cron...

http://img514.imageshack.us/img514/3882/sanstitre2kb8.jpg
http://img514.imageshack.us/img514/sanstitre2kb8.jpg/1/w1244.png

Répondre à simdu80
- 0 +

Alors, oui le service cron est bien démarré.

 

Après, pour l'histoire de /bin/vi no such file or directory; c'est parce que vi n'a pas été installé avec cygwin.
Si tu relances une installation de cygwin, tu dois pouvoir ajouter des packages à ceux existants, tu dois pouvoir trouver vi dedans (si tu trouves vim, prend le aussi).
Sinon, autre solution, ça serait de voir quel éditeur de fichier tu as déjà d'installé sur ton cygwin, et de modifier l'éditeur par défaut... mais bon, à moins que tu connaisses bien linux, je ne pense pas que tu sauras dire quels éditeurs tu as déjà d'installés :)

 


Edit: ah oui aussi, je ne sais pas si tu l'as déjà installé, mais installes le package curl dont tu vas avoir besoin dans ton script (toujours lors de l'installation de cygwin)


Message édité par OmaR le 13-01-2009 à 16:38:06
Répondre à OmaR

Voilà alors j'ai réinstallé
Donc avec toutes les explications j'en ai plein la tête et j'ai vraiment du mal pour lancer le script (tout du moins, essaie de configurer le crontab...)


Donc pour l'instant, j'ai lancé : crontab -e

Il m'affiche une belle fenêtre avec des ~ à chaque ligne donc je pense que c'est bien pour le configurer

Le script se trouve dans C:/cygwin/
Je veux le lancer toutes les 1min (ça ne ralenti pas le PC ?)
Donc il faut que j'écrive ça dans cron : */1 * * * *
Mais après je suis un peu pommé :s

Répondre à simdu80
- 0 +

Alors, déjà, il va falloir lancer une première fois ton script pour être sûr qu'il fonctionne. Imaginons que ton fichier de script se trouve dans /home/nowis et qu'il se nomme "script.sh", pour l'exécuter tu feras :

Code :
  1. cd /home/nowis
  2. ./script.sh
 

Ca devrait donc exécuter ton script, vérifie que tout fonctionne bien, que tu es toujours connecté à ton hotspot, etc...

 

Ensuite, on va vérifier que le service cron fonctionne bien, et qu'il t'exécute bien les tâches. Ce que tu peux faire, c'est ajouter cette ligne :

* * * * * echo `date` >> /tmp/date.log


Cette ligne va exécuter toutes les minutes la commande date (qui va te donner l'heure actuelle), et la résultat de la commande est écrit dans le fichier /tmp/date.log
Tu as juste besoin d'aller voir dans /tmp/date.log quelques minutes plus tard pour voir que tu as bien la date qui a été écrite chaque minute depuis que tu as ajouté la ligne.

 

Ensuite, pour l'exécuter toutes les minutes, tu peux tout simplement faire : * * * * * (* ou */1 c'est équivalent)
Après, je ne sais pas combien de temps va prendre ton script, il se peut que ça ralentisse un peu... Maintenant, il me semble que tu disais au début que tu devais le lancer toutes les 2h, donc un petit * */2 * * *, et ça devrait être réglé, non ?


Message édité par OmaR le 13-01-2009 à 17:48:15
Répondre à OmaR

En essayant de faire fonctionner mon script comme tu l'as dit :

http://img293.imageshack.us/img293/4240/sanstitrenc6.jpg
http://img293.imageshack.us/img293/sanstitrenc6.jpg/1/w679.png

(Si je compare, il n'aime pas trop les espaces et la commande "fi" (c'est pas plutot "if" ?



Quand j'essaie de faire la commande avec cron :

http://img293.imageshack.us/img293/6021/sanstitre2ri2.jpg
http://img293.imageshack.us/img293/sanstitre2ri2.jpg/1/w675.png

Là c'est un gros problème ^^' je croyais que ça marchait bien... :(

Répondre à simdu80
- 0 +

Alors, pour l'exécution de ton script :
En fait, c'est qu'il doit y avoir des sauts de ligne (\r) qu'il n'aime pas... Windows utilise \r\n pour faire un saut de ligne, unix utilise \n (il me semble), ce qu'il fait qu'il ne reconnait pas vraiment \r...

 

Que te donne la commande file script.sh ?

 

Au passage "fi" existe en bash, if permet de commencer la condition et fi de la finir. Les mots sont inversés lorsqu'ils finissent la condition / boucle.

 

Ensuite, je me doutais bien que ça allait arriver, le moment où tu allais découvrir vi... :)
En fait, là, quand tu édites ton fichier de cron, tu utilises l'éditeur vi qui a énormément de commandes pour faire tout plein de choses dans le fichier. Quand tu ouvres le fichier, tu n'es pas en mode édition par défaut, tu es juste en mode lecture, donc tu ne peux rien taper, si tu tapes quelque chose, ça va exécuter les différentes commandes de vi, dans ton cas, ça a du exécuter une recherche en utilisant une expression régulière, et donc te retourner une erreur.
Lis ce site pour des informations sur les commandes de vi : http://jph.durand.free.fr/vi.htm

 

A retenir :
i pour passer en mode insertion
Echap (la touche) pour sortir du mode insertion
:w pour sauvegarder (quand tu es en mode lecture)
:q pour quitter (si tu as fait des modifications, il te demande de sauvegarder avant)
:q! pour quitter sans sauvegarder
:wq pour sauvegarder et quitter


Message édité par OmaR le 13-01-2009 à 18:17:20
Répondre à OmaR

1) script.sh: Bourne-Again shell script text executable

2) Pour les problèmes de \r je fais quoi alors ?

3) Je ne comprends absolument pas l'éditeur vi :(
J'ai bien taper "crontab -e" j'ai essayé de faire "i [entrer]" je suis donc reparti à la ligne, et j'ai essayé de faire le test comme tu me l'a indiqué, et après :q [entrer] et il ne m'a rien demandé...

4) Désolé de t'embêter...

Répondre à simdu80
- 0 +

1) et 2) En fait, j'attendais le résultat de file script.sh pour voir ce qu'on allait faire avec les \r
Ton fichier script.sh, tu l'as fait avec le bloc notes ? Réouvre le script avec le bloc notes (depuis windows donc), et quand tu l'enregistres, change l'encodage, met le en Unicode... en espérant que ça fonctionne ! Parce que sinon, je ne vois pas trop d'autre faire, à part recopier ligne par ligne depuis vi, ou sinon d'éditer le fichier avec vi pour supprimer les sauts de ligne, s'ils sont visibles.

 


3) Tu appuies sur la touche "i", puis tu entres ta ligne (* * * * * etc...), ensuite tu appuies sur "echap" pour passer en mode lecture, puis tu tapes ":wq", il va sauvegarder et quitter l'éditeur.
Tu peux ensuite taper la commande crontab -l pour lister toutes les entrées et vérifier que tu as bien ton entrée dedans.

 

4) pas de problème, je ne serai pas sur un forum si ça m'embêtait ! et puis j'aurais arrêté de répondre :p


Message édité par OmaR le 13-01-2009 à 19:05:44
Répondre à OmaR

Ah ça y est j'ai tout compris :p


Malheureusement pour le fichier en unicode, quand j'essaie de le lancer, il me dis : cannot execute binary file... :(

Ensuite, crontab a l'air de bien fonctionner, juste un truc, quel touche utiliser pour faire le `date` car j'utilise le " " mais ça ne doit pas être ça...

Si refaire un script est trop compliqué, j'ai plus qu'à laisser tomber car je ne m'y connais absolument pas :(

Comme je l'ai dit, je l'ai trouvé sur le web et la personne le faisait marcher sur linux avec cron...

Répondre à simdu80
- 0 +

Ok, donc ça marche pas quand c'est en unicode, donc, essaie d'éditer le fichier avec vi (vi script.sh) et tu devrais avoir des \r qui trainent je suppose, supprime les tous (dois y avoir un raccourci pour faire ça en deux trois clics sous vi, mais je le connais pas assez bien pour te dire comment).

Pour faire le `, c'est Alt Gr + 7
Et tu n'auras pas besoin de refaire un script, il faudra juste supprimer les \r, donc j'essayai de trouver la méthode la plus simple, c'est tout :)

Répondre à OmaR

Alors en lisant attentivement le post de celui qui a laissé le message, à l'installation de Cygwin, il faut sélectionner "DOS / txt" donc je viens de le faire... (sinon il n'aime pas le fi soit-disant)...

En testant, cela à l'air de bien fonctionner :
http://img364.imageshack.us/img364/5213/sanstitreji6.jpg
http://img364.imageshack.us/img364/sanstitreji6.jpg/1/w674.png



Par contre, je vois bien la ligne de crontab, mais le date.log est toujours vide...

J'ai fait ainsi :
j'ouvre cygwin
je tape "crontab -e" puis je fais "i * * * * * echo `date` >> /tmp/date.log [echap] :wq" il sauvegarde et me dit que c'est bon, je vérifie avec "crontab -l" elle est bien là... J'attends 2-3 min et j'ouvre "date.log" mais c'est toujours blanc...

Répondre à simdu80
- 0 +

Vu que tu as réinstallé cygwin, vérifie que le service cron soit toujours démarré, au cas où.

 

Ensuite, entre ces quelques commandes à la suite et donne moi le résultat de leur exécution :

$ ps -lef | grep cron
$ cygrunsrv -Q cron
$ cygcheck.exe -c | grep cron
$ crontab -e
$ cat /tmp/date.log

 



Message édité par OmaR le 13-01-2009 à 20:24:31
Répondre à OmaR

Voilà un screen global


http://img253.imageshack.us/img253/3074/sanstitreak0.jpg
http://img253.imageshack.us/img253/sanstitreak0.jpg/1/w674.png


après le crontab j'ai fait "i cat /tmp/date.log [echap] :wq" et voilà la réponse

Le service est bien activé ;)

Répondre à simdu80
- 0 +

C'est bizarre, parce que dans les processus (ps), il n'y a pas de trace de cron... Pourtant avec cygrunsrv, tu as le daemon cron qui est bien lancé...

 

Quand tu as tapé ton crontab -e, il te dit qu'il y a une erreur dans ton fichier... "bad minute", tu aurais une erreur sur les minutes... Es tu sûr que tu n'as pas mis "i" comme minute ? :)
Il ne faut pas que tu vois i affiché à l'écran, c'est juste pour entrer en mode édition hein !

 

Que donne la commande : cat /tmp/crontab.9a6HIDqx0L ?


Message édité par OmaR le 13-01-2009 à 21:38:14
Répondre à OmaR

même erreur...

J'essaie de tout réinstaller et j'édit mon sujet après :)



EDIT : après réinstallation, il y a un truc dans "date.log" !!! :

Tue Jan 13 22:07:01 2009
Tue Jan 13 22:08:02 2009



ça a l'air de fonctionner :)


Donc je vais essayer le script maintenant et je te dis quoi !

On a avancé à grand pas aujourd'hui :) Merci d'être beaucoup présent


Message édité par simdu80 le 13-01-2009 à 22:09:39
Répondre à simdu80
- 0 +

Pas de problème, j'ai activé la notification par mail, ça va plus vite comme ça :)

Répondre à OmaR

D'accord !!!

Pour le faire tourner en boucle, je peux, dans mon bloc note, copier 50 fois tout ce qu'il y a entre les "if [...] fi" ?

Répondre à simdu80
- 0 +

Euh... pourquoi le faire tourner en boucle ?

Répondre à OmaR

J'aimerais que toutes les 1h55 il tourne en boucle pendant 10min.
Donc le code ça serait du style

55 1 * * * sh /cyg/script.sh


Et pour qu'il tourne pendant 10min par exemple, il faudrait que je rajoute X fait ce code sous mon script :

Code :
  1. # if [ ! -z "${final}" ];then
  2. #        echo "connected"
  3. # else
  4. #        echo "connection failed, one more time"
  5. #        sleep 30
  6. # url="https://hotspot.neuf.fr/nb4_crypt.php"
  7. # okmatch="licitations"
  8. # login="000000"
  9. # password="000000"
  10. #
  11. # # quel que soit le site visité, on sera redirigé vers le
  12. # # portail captif qui génerera un token. L'utilisation du switch
  13. # # -L permet de suivre la redirection de type 302
  14. # challenge=`curl -L http://www.google.com|grep name=\"challenge|sed -r 's/.*value=\"([0-9a-z]+)\".*/\1/'`
  15. #
  16. # #echo "challenge: ${challenge}"
  17. #
  18. # # la phase 2 renvoie une réponse au token
  19. # response=`curl -L -d "username=${login}&password=${password}&cond=on&accessType=neuf&nb4=https://hotspot.neuf.fr/nb4_crypt.php&challenge=${challenge}" ${url}|grep response=|sed -r 's/.*response=([0-9a-z]+).*/\1/'`
  20. #
  21. # #echo "reponse: ${response}"
  22. # # enfin, un refresh renvoie sur une page qui attend la
  23. # # réponse précedente pour activer la connexion
  24. # final=`curl -L "http://192.168.2.1:3990/logon?username=ssowifi.neuf.fr/${login}&response=${response}&uamip=192.168.2.1&userurl=http%3A%2F%2Fwww.fon.com%2Ffr%2Flanding%2Ffoneroneufbox%3Bfon%3B%3B&lang=fr&ARCHI"|grep ${okmatch}`
  25. #
  26. # if [ ! -z "${final}" ];then
  27. #        echo "connected"
  28. # else
  29. #        echo "connection failed, lets cron retry"
  30. # fi

Message cité 1 fois
Message édité par simdu80 le 14-01-2009 à 05:59:53
Répondre à simdu80
- 0 +

simdu80 a écrit :

J'aimerais que toutes les 1h55 il tourne en boucle pendant 10min.
Donc le code ça serait du style

55 1 * * * sh /cyg/script.sh



Il me semble pas... ça voudrait dire que tu lances le script tous les jours à 1h55 du matin, pas que tu veux le lancer toutes les 1h55 !

simdu80 a écrit :


Et pour qu'il tourne pendant 10min par exemple, il faudrait que je rajoute X fait ce code sous mon script :

Code :
  1. # if [ ! -z "${final}" ];then
  2. #        echo "connected"
  3. # else
  4. #        echo "connection failed, one more time"
  5. #        sleep 30
  6. # url="https://hotspot.neuf.fr/nb4_crypt.php"
  7. # okmatch="licitations"
  8. # login="000000"
  9. # password="000000"
  10. #
  11. # # quel que soit le site visité, on sera redirigé vers le
  12. # # portail captif qui génerera un token. L'utilisation du switch
  13. # # -L permet de suivre la redirection de type 302
  14. # challenge=`curl -L http://www.google.com|grep name=\"challenge|sed -r 's/.*value=\"([0-9a-z]+)\".*/\1/'`
  15. #
  16. # #echo "challenge: ${challenge}"
  17. #
  18. # # la phase 2 renvoie une réponse au token
  19. # response=`curl -L -d "username=${login}&password=${password}&cond=on&accessType=neuf&nb4=https://hotspot.neuf.fr/nb4_crypt.php&challenge=${challenge}" ${url}|grep response=|sed -r 's/.*response=([0-9a-z]+).*/\1/'`
  20. #
  21. # #echo "reponse: ${response}"
  22. # # enfin, un refresh renvoie sur une page qui attend la
  23. # # réponse précedente pour activer la connexion
  24. # final=`curl -L "http://192.168.2.1:3990/logon?username=ssowifi.neuf.fr/${login}&response=${response}&uamip=192.168.2.1&userurl=http%3A%2F%2Fwww.fon.com%2Ffr%2Flanding%2Ffoneroneufbox%3Bfon%3B%3B&lang=fr&ARCHI"|grep ${okmatch}`
  25. #
  26. # if [ ! -z "${final}" ];then
  27. #        echo "connected"
  28. # else
  29. #        echo "connection failed, lets cron retry"
  30. # fi




Plutôt que de copier le code 150 fois, faudrait faire une boucle :)
Une boucle while par exemple : http://www.patpro.net/blog/index.p [...] dans-bash/

Répondre à OmaR
Page Précédente
1 2
Tom's Guide > Forum > Programmation > Connexion automatique à un hotspot neuf
Aller à :

Il y a 342 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens