123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- print("Start Wifi ECN login tool ...")
- import urllib.request
- import urllib.parse
- import sys
- import getopt
- import os
- import json
- dir_path = os.path.dirname(os.path.realpath(__file__))
- username = ""
- password = ""
- argv = sys.argv[1:]
- try:
- opts, args = getopt.getopt(argv, "hu:p:", ["username=", "password="])
- except getopt.GetoptError:
- print('wifiecn.py -u <username> -p <password>')
- sys.exit(2)
- for opt, arg in opts:
- if opt == '-h':
- print('wifiecn.py -u <username> -p <password>')
- sys.exit()
- elif opt in ("-u", "--username"):
- username = arg
- elif opt in ("-p", "--password"):
- password = arg
- if username == "" or password == "":
- print('wifiecn.py -u <username> -p <password>')
- sys.exit(2)
- data = {"action": "authenticate",
- "from_ajax": "true",
- "login": username,
- "password": password,
- "policy_accept": "true",
- "wispr_mode": "false"}
- headers = {
- 'origin': "https://portailwifi.ec-nantes.fr/",
- 'upgrade-insecure-requests': "1",
- 'user-agent': "Mozilla/5.0",
- 'content-type': "application/x-www-form-urlencoded",
- 'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
- 'accept-encoding': "gzip, deflate, br",
- 'accept-language': "en-US,en;q=0.8,fr-FR;q=0.6,fr;q=0.4"
- }
- bin_data = urllib.parse.urlencode(data).encode()
- # HTTP Request
- targetUrl = "https://portailwifi.ec-nantes.fr/portal_api.php"
- status = "NoStatus"
- try :
- request = urllib.request.Request(targetUrl, bin_data, headers, method="POST")
- response = urllib.request.urlopen(request).read().decode()
- except :
- print("Can't perform an http request against " + targetUrl)
- print("Are you connected to Wifi-ECN ?")
- else:
- pydata = json.loads(response)
- try:
- status = pydata['type']
- except:
- try:
- status = pydata['error']['code']
- print("Wifi ECN sent back en error : " + status)
- except:
- print("I can't read WifiECN answer. :-(")
- # End of programm
- if status == "CONNECT":
- print("Successfully logged as " + username +". :-)")
- else:
- print("Something went wrong. Couldn't connect as " + username +".")
|