解决 GiWiFi 普通用户无客户端无法登入

本文介绍了当遇到必须使用GiWiFi官方PC客户端才能登录的问题时,如何通过分析URL后缀来绕过这一限制,实现普通用户直接登录的方法。通过观察不同用户级别的URL,发现将账户类型参数改为0即可直达普通用户登录页面,避免下载客户端。
摘要由CSDN通过智能技术生成

文章目录

  • 前言
  • 一、寻找方法ing...
  • 二、直接登录
  • 总结


前言

学校在用GiWFi…
今下午用的好好的突然就掉线了, 然后重连就提示我必须下载他们的PC客户端, 不然就不让用.
每天早上来这么一遍也就算了, 现在欺负到头上来了, 哈, 就不下.


一、寻找方法ing…

平时,每天都要登录一次GiWiFi, 观察过, 一般是会跳到Mozilla, 然后这时候就连接了,直接关掉就能上网了.
还有一种情况是周期性发生的(啊,其实也不是很周期性), 就是普通用户需要输入密码来完成登录.
不过最近出现的最多的还是这种主页:
在这里插入图片描述
你如果点击右上角登录,它会弹出一个下拉列表:
在这里插入图片描述
但我只是一个臭学生.
这三个登录途径都不是为普通用户提供的, 特殊终端途径貌似是最近新增的.

我先观察了一下各个登录途径的URL, 然后我发现每条登录途径都有一个后缀:accout-type,这个词组甚麽意思就不用说了,我推测他应该是依据当前的用户级别来进行判断,判断页面的强制跳转, 而我发现它的主页后缀额外带了一小段数据(主页是上面那段):
在这里插入图片描述
“账户类型-2”
如果去掉这段那么会直接跳转到"特殊终端"用户等级的登录渠道
那基本可以确定2级用户是特殊终端用户了.
我想按照顺序那么校外访客应该是1级而教职工是0级,那普通用户会不会是3级?

将后面的尾缀改为"3"发现是校外访客级:
在这里插入图片描述

改为1发现是教职工:
在这里插入图片描述

然后改到0发现是普通用户登录渠道:

(别看了,登上去了,图也没截到)

二、直接登录

将URL的最后一段去掉:
在这里插入图片描述
此时末端URL应当为:
在这里插入图片描述
将最后的2修改为0即可进入普通用户登录渠道,无需下载PC客户端.


总结

应该会有时效性的吧…

根据提供的引用内容,可以了解到GiWiFi自动登录的过程。首先,GiWiFi的登录过程是通过打开网页自动跳转到"http://172.21.1.1:8062/redirect"进行的。为了防止账号掉线或者GiWiFi AP自动重启,需要通过检测是否在线来保持登录状态。具体的代码实现可以通过获取登录状态的JSON数据,然后解析其中的auth_state字段来判断是否登录成功。 以下是一个参考的GiWiFi自动登录的代码示例: ```python import urllib.request import json import time def get_login_status(): wifi_status_json = urllib.request.urlopen("http://"+get_gw_address()+":"+get_gw_port()+"/wifidog/get_auth_state?ip="+get_local_ip()) status_json = json.loads(wifi_status_json.read())['data'] auth_status = json.loads(status_json)['auth_state'] if auth_status == 2: status = "GiWiFi online" else: status = "GiWiFi offline" return status def auto_login(): get_json = json.loads(urllib.request.urlopen("http://"+get_gw_address()+":"+get_gw_port()+"/wifidog/get_auth_state?ip="+get_local_ip()).read())['data'] end_status = json.loads(get_json)['auth_state'] if end_status == 2: print('Login_Status:', get_login_status()) while True: get_json = json.loads(urllib.request.urlopen("http://"+get_gw_address()+":"+get_gw_port()+"/wifidog/get_auth_state?ip="+get_local_ip()).read())['data'] end_status = json.loads(get_json)['auth_state'] if end_status != 2: print('Start login GiWiFi ......') login() print('Login_Status:', get_login_status()) time.sleep(1) auto_login() ``` 这段代码实现了自动登录GiWiFi的功能。首先通过获取登录状态的JSON数据来判断当前是否已经登录成功,如果已经登录成功则直接输出登录状态。然后进入一个循环,每隔一秒钟检测一次登录状态,如果未登录成功则调用登录函数进行登录,并输出登录状态。登录函数的具体实现可以根据实际情况进行编写。通过以上代码实现,可以实现GiWiFi的自动登录功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值