Bonsoir à tous, cela fait maintenant deux heures que je tente (en vain) d'adapter ce script bash, à la base écrit pour linux, mais qui ne passe pas sous OSX...
Pour ceux qui se demandent ce que c'est, le script permet de se connecter à un portail captif neuf wifi sans avoir à rentrer son login/pass dans son navigateur web.
Donc si quelqu'un a le courage de regarder quelques minutes, il y a probablement des différences de syntaxe dues aux versions de bash sur mac/linux, mais là je cale !
Merci d'avance !
Edit : Finalement ça ressemblait à un problème du à l'encodage des caractères et des sauts de ligne au moment du passage windows/mac/windows/mac, ça semble marcher maintenant, désolé pour le bruit...
Pour ceux qui se demandent ce que c'est, le script permet de se connecter à un portail captif neuf wifi sans avoir à rentrer son login/pass dans son navigateur web.
Donc si quelqu'un a le courage de regarder quelques minutes, il y a probablement des différences de syntaxe dues aux versions de bash sur mac/linux, mais là je cale !
Merci d'avance !
Edit : Finalement ça ressemblait à un problème du à l'encodage des caractères et des sauts de ligne au moment du passage windows/mac/windows/mac, ça semble marcher maintenant, désolé pour le bruit...
Bloc de code:
#!/bin/bash
url="https://hotspot.neuf.fr/nb4_crypt.php"
okmatch="licitations"
login="user"
password="pass"
con=1;
while [ $con != 0 ];
do
challenge=`curl -s -k -L http://www.google.com | grep name=\"challenge | sed -r 's/.*value=\"([0-9a-z]+)\".*/\1/'`
if [ -f $challenge ]
then
echo "DÈj connectÈ !"
sleep 10;
else
response=`curl -s -k -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/'`
final=`curl -s -k -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}`
if [ ! -z "${final}" ];
then
echo "connected"
date;
else
echo "connection failed"
fi
fi
done