Automatisieren Sie die BTWiFi-Anmeldung mit einem FON-Konto

4

Ich bin ein Benutzer des Wifi-Hotspots von British Telecom. Der Dienst ist gut, aber nach einiger Zeit der Inaktivität meldet er mich ab und fragt nach Benutzername und Passwort.

Es ist auf lange Sicht wirklich ärgerlich.

Hat jemand das Anmeldesystem bereits zurückentwickelt und ein Python / Bash / Perl-Skript erstellt?

Oder gibt es eine generische Möglichkeit, solche Dinge zu tun?

sscarduzio
quelle
Android? Verwenden Sie die BT Wi-Fi-App?
MrWhite
Ich besitze kein Android, aber ich habe einen Himbeer-Pi!
sscarduzio

Antworten:

2

Speichern Sie dies als Skript und lassen Sie es alle 10 Minuten ausführen. Vergessen Sie nicht, Ihren Benutzernamen und Ihr Passwort oben hinzuzufügen!

#!/bin/bash

# CONF

DBG=true
RELOG_UNAME=usernamehere
RELOG_PASSW=passwordhere

# END CONF

IS_LOGGED_IN=$(wget "https://www.btopenzone.com:8443/home" --timeout 30 -O - 2>/dev/null | grep "accountLogoff")

if [ "$IS_LOGGED_IN" ]

then
  [[ $DBG ]] && echo "currently logged in. Nothing to do.."

else
  [[ $DBG ]] && echo "It's not logged in.. Will log in!"
  OUT=$(wget -qO- --post-data "USERNAME=$RELOG_UNAME&PASSWORD=$RELOG_PASSW" "https://btwifi.portal.fon.com/remote?res=hsp-login&HSPNAME=FonBT%3AGB&WISPURL=https%3A%2F%2Fwww.btopenzone.com%3A8443%2FfonLogon&WISPURLHOME=https%3A%2F%2Fwww.btopenzone.com%3A8443&VNPNAME=FonBT%3AGB&LOCATIONNAME=FonBT%3AGB")
  ONLINE=$(echo $OUT | grep youre_online )
  if [ "$ONLINE" ]
  then
    [[ $DBG ]] && echo "You're online!"
  else
    [[ $DBG ]] && echo "Could not login :("
  fi
fi
MrBeanzy
quelle
1
Danke für diese Antwort, aber eine Erklärung wäre nett :-)
bertieb
4
Also das ist jetzt peinlich. Sie haben den Code, den Sie eingefügt haben, nicht geschrieben, und ich bin sicher, dass ich ihn vor einem Jahr selbst geschrieben habe, einige Tage nachdem ich meine Frage gestellt hatte. gist.github.com/sscarduzio/05ed0b41d6234530d724
sscarduzio
1
Sie können es selbst tun, ich habe Chrom "Element inspizieren" verwendet -> wählen Sie die Registerkarte Netzwerk, sehen Sie sich die HTTP-Anforderungen an, klicken Sie mit der rechten Maustaste und kopieren Sie den Befehl curl. Dann habe ich Curl an Wget angepasst, da ich Curl nicht in meinem eingebetteten Gerät installiert hatte.
sscarduzio
1
@sscarduzio Ich habe die Lösung für Vodafone gefunden. Das Problem war, dass bei jeder neuen Verbindung eine Challenge-Nummer vergeben wird, die niemals gleich ist. Wenn Sie (oder jemand anderes) daran interessiert sind, finden Sie es hier: superuser.com/questions/1053990/… Vielen Dank für Ihre Hilfe!
Michele Dall'Agata
1
Ja, genau das war der Schmerz. Aber nach ein paar Läufen mit Chrome, wie Sie vorgeschlagen haben, wurde klarer, was mit der Herausforderungsnummer los war. Dann fügte der unverlierbare Netzwerkassistent, der die DNS-Abfragen blockierte, der Verletzung Schaden zu. Kein Wunder, dass ich feststeckte. Aber heute habe ich mir Zeit genommen und es kam irgendwann raus! Obwohl ich sagen muss, dass es sich einfach gut anfühlt, ein Skript zu haben, das dieses nervige Splash-Fenster tötet. > :)
Michele Dall'Agata