校园网网页认证自动登录
校园网网页认证自动登录认证python+定时任务 实现校园网自动登录认证一、总览二、具体步骤python+定时任务 实现校园网自动登录认证说明:因为我们学校校园网登陆需要网页认证,且每天3点左右会自动断网,所以需要设置定时任务,每天在断网后自动进行网络认证登录,可能每个学校的断网时间和联网需求不同,需要在定时任务阶段设置不同的策略,比如每小时登录一次。一、总览使用Chrome或者其他...
文章共1,335字 · 阅读需要大约5分钟
一键AI生成摘要,助你高效阅读
问答
·
校园网网页认证自动登录
python+定时任务 实现校园网自动登录
说明:因为我们学校校园网登陆需要网页认证,且每天3点左右会自动断网,所以需要设置定时任务,每天在断网后自动进行网络认证登录,
可能每个学校的断网时间和联网需求不同,需要在定时任务阶段设置不同的策略,比如每小时登录一次。
一、总览
- 使用Chrome或者其他浏览器查看校园网认证所需要的request Headers和Form Data;
- 安装python环境,并将python加入系统环境变量,使用python编写发送http请求的处理流程;
- 在windows系统下需要编写bat脚本文件执行步骤2的python文件,并启动定时任务。linux请自行系统百度定时任务的设置方法;
- 如果windows系统需要锁屏状态写可以运行计划任务,则需要进行以下操作:查看 Task Scheduler 服务是否启动.没有启动它。.如果还不行的话在运行中,输入gpedit.msc选择 计算机配置 - windows设置 - 安全设置 - 本地策略 - 安全选项找到 “账户:使用空白密码的本地账户只允许进行控制台登录” 这个项目. 双击打开.把它设置为 “已禁用”.
二、具体步骤
- 使用Chrome浏览器进入网络认证界面,按F12,弹出监控台,点击Network,在页面上输入账户名和密码,点击登录或认证按钮,network会有记录。如下图为我们学校的登录界面。需要关注红色圈住的部分。
- 安装python环境,并将python加入系统环境变量,使用python编写程序发送http请求,代码及说明如下:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import base64
import requests
#此处根据自己校园网Form Data中发送的数据进行更改
action = 'login'
username = '用户名'
password = '密码'
ac_id = '1'
user_ip = '127.131.1.1'
# 登录地址
post_addr = "http://wlrz.fudan.edu.cn/srun_portal_pc.php?ac_id=1&phone=1"
# 构造头部信息 注意Cookie可能十分重要,而且Cookie会有过期时间(我们学校过期时间是1个月),过期之后,可能需要复制新的Cookie替换。
post_header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding': 'gzip, deflate',
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest',
'Origin': 'http://wlrz.fudan.edu.cn',
'Referer': 'http://wlrz.fudan.edu.cn/srun_portal_pc.php?ac_id=1&&phone=1',
'Content-Length': '112',
'Cookie': 'login=YUtl4F5w2GWDfWUA8O**********0MDW7tX1eoOzS00eusx19E0245ORqeeZHVwBzEd1DGI%253D',
'Host': 'wlrz.fudan.edu.cn',
'Connection': 'keep-alive',
}
post_data = {
'action': action,
'username': username,
'password': password,
'ac_id': ac_id,
'user_ip': user_ip
}
# 发送post请求登录网页
z = requests.post(post_addr, data=post_data, headers=post_header)
# s = z.text.encode('utf8')
# print(s)
print("login success!")
- 在windows系统下需要编写bat脚本文件(login.bat)执行步骤2的python文件,并启动定时任务。脚本如下:
python E:\autoLogin\autoLogin.py
定时任务开启方式参考链接 https://blog.csdn.net/cdnight/article/details/53841921
本文参考链接:https://blog.csdn.net/shenhuaifeng/article/details/78333851
更多推荐
已为社区贡献1条内容
所有评论(0)