快捷指令一键加入校园网

由于时效问题,该文某些代码、技术可能已经过期,请注意!!!本文最后更新于:1 年前

自动化冲浪

前奏

因为在学校办公,用的网络是guest类型,每次冲浪前必须先登陆,电脑端还好,都有记忆功能,账号密码可以记住只需要点击上网即可。但是手机端就没那么方便了。
这里使用快捷指令实现快捷上网。
通过抓包发现以下参数可直接联网(仅用python做下测试):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import requests
url = 'https://wificontroller.nic.sjtu.edu.cn/portal/logon.cgi'
# 处理post请求携带的参数(从抓包工具中获取)
data = {
'id': 2000,
'cmd': 'authenticate',
'mac': '',
'ip':'',
'essid':'',
'url':'http://www.sjtu.edu.cn',
'PtButton':'Logon',
'PtUser':'xxxxxx',
'PtPwd':'xxxxxx',
'PtSubmit':'立即上网'
}

# 自定义请求头信息,相关的头信息必须封装在字典结构中
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',
}

# 2.发起基于ajax的post请求
requests.post(url=url,data=data,headers=headers)

具体创建快捷指令的方法可参考:
https://mp.weixin.qq.com/s?__biz=Mzg4OTEzMDcxNw==&mid=2247484113&idx=1&sn=6db4b38a7004e922ab8de5420b8e15b1&chksm=cff1d963f8865075b5e32c84f7ca44d3cf2238bacef444e6c12b1d603f5fa0daf5c385374f03&token=14643316&lang=zh_CN#rd

后续:后来因为服务器端的ssl证书问题,上述快捷指令失效。

于是新的折腾方法入下:
python测试方法几乎没变,只需要添加一个ssl验证为false即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import requests
url = 'https://wificontroller.nic.sjtu.edu.cn/portal/logon.cgi'
# 处理post请求携带的参数(从抓包工具中获取)
data = {
'id': 2000,
'cmd': 'authenticate',
'mac': '',
'ip':'',
'essid':'',
'url':'http://www.sjtu.edu.cn',
'PtButton':'Logon',
'PtUser':'xxxxx',
'PtPwd':'xxxx',
'PtSubmit':'立即上网'
}

# 自定义请求头信息,相关的头信息必须封装在字典结构中
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',
}

# 2.发起基于ajax的post请求
response = requests.post(url=url,data=data,headers=headers, verify=False)
print(response.text)

快捷指令的实现借助了第三方工具iSH,具体教程可以参考:
https://blog.csdn.net/Qmj2333333/article/details/128910249

这里可以用python脚本进行登陆也可以使用curl,curl命令如下, 使用 -k 设置禁用ssl验证:

1
2
curl -X POST -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36" -d "id=2000&cmd=authenticate&mac=&ip=&essid=&url=http://www.sjtu.edu.cn&PtButton=Logon&PtUser=xxxx&PtPwd=xxxx&PtSubmit=立即上网" -k "https://wificontroller.nic.sjtu.edu.cn/portal/logon.cgi"

至此就可以无障碍冲浪了!