对于每次开启电脑都要连接一次学校的网络是个麻烦的事情,所以使用Python来在开机的时候自动post连接。
1.首先,我使用的是火狐浏览器来查看数据的,首先打开web开发者里面的网络,快捷键Ctrl+Shift+E也行,然后勾取持续日志,防止跳转的时候刷新下面的日志
2.在日志中可以看到一个post请求
3.进去看请求头部分是使用form表单提交的方式
4.先打个码啊哈哈哈,看表单数据,第一行就是第几个设备和账户加运营商后缀,各个学校的不一样的把,看表单数据就行了,我这儿的主要是电脑连接,就先默认了。
5.然后看消息头,这里是post请求和请求网址,在请求网址中,有两处ip我猜是动态分配的ip地址,所以,在发送post请求时,url不能写死了。
6.所以,首先get获取动态分配的ip,获取哪儿的呢,肯定是登录界面的
我们只需要192.168.16.252/a70.htm 就可以了。
7.这些弄完后可以写程序了
首先弄到ip
import requests #必须的库
url = ('192.168.16.252/a70.htm')
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0'} # 请求头部分可以自己定义,在浏览器里就能看到了
dynamic_url = requests.get(url=url,headers=headers) #这里是get请求数据,我们用它来获取需要的ip
print(dynamic_url.text) #这里是输出获取的信息,我们可以找需要的ip位置
执行完上述代码后在打印出来的信息中寻找ip,这里我们用正则
import requests #必须的库
import re #正则
url = ('192.168.16.252/a70.htm')
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0'} # 请求头部分可以自己定义,在浏览器里就能看到了
dynamic_url = requests.get(url=url,headers=headers) #这里是get请求数据,我们用它来获取需要的ip
dynamic_ip = re.findall(r"v46ip='(.+?)'",dynamic.text)[0] #因为在分析打印出来的数据时看到ip是在v46ip='这里是ip' 中的
8.ip获取到了,可以发送post包了
import requests #必须的库
import re #正则
url = ('192.168.16.252/a70.htm')
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0'} # 请求头部分可以自己定义,在浏览器里就能看到了
dynamic_url = requests.get(url=url,headers=headers) #这里是get请求数据,我们用它来获取需要的ip
dynamic_ip = re.findall(r"v46ip='(.+?)'",dynamic.text)[0] #因为在分析打印出来的数据时看到ip是在v46ip='这里是ip' 中的
url_post = ('#这里自己填上面第5部分的请求网址,将里面的两处动态ip改为自定义如192.168.16.252/?%sqwe%s'%(#这里填两个dynamic_ip用,分隔))
data {
#这里构造字典,填第4部分里面的参数的表单数据,用于向服务器提交,如↓
'DDDDD':'#此处表单账户数据',
'upass':'#此处表单密码数据',
}
start = requests.post(url=url_post,data=data) #发送请求包
9.好了,到这儿就结束了,将py文件放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 开机就会自己启动连接了,别忘记装运行需要的库哦~