admin管理员组文章数量:1341719
注:本文仅作为学术交流和技术分析,所有的敏感信息全部打码,登录的账号为本人自己的账号,不涉及任何敏感行为,转载请注明
因本人在学校学习期间每次开机,都需要连接校园的wifi(学校的wifi在每次连接时,都需要向弹出网页填写数据,提交表单),觉得操作繁琐,学习的爬虫课程刚好派上用场。想着使用POST请求去模拟登陆并实现连接校园WIFI。最终实现:计算机开机自动启动脚本,进行网络(指定WIFI)连接。
首先、进入校园网的登录界面
按下F12键 打开控制台,点击登录,通过抓包发现这条请求auth_action.php
通过抓包发现为post请求,所以对需要提交的表单数据进行研究,身份类型有电信、联通、移动等,他们所对应的表单略有不同
发现提交表单的数据中username栏中最后都会有一个@+字符,分别代表着三大通信运营商
爬虫思路:使用Python的requests模块中的POST方法提交页面需要的表单到网站上。页面给予反馈。提示登录成功。
代码如下:
import requests
import base64
# 网址
url="http://此处打码/include/auth_action.php"
headers = {
'User-Agent': '自己电脑的请求头',
'Referer': 'http://此处打码/srun_portal_pc.php?ac_id=2&url=此处打码',
}
username = "学号" # 测试学号
password = "123456" # 测试密码
# 对密码进行加密
pwd = base64.b64encode(password.encode("utf-8")).decode("ascii")
type_phone = {
"电信": "@telecom",
"移动": "@cmcc",
"联通": "@unicom",
# @telecom表示电信 @cmcc表示移动 @unicom表示联通
}
query_date = {
'action': 'login',
'username': username + type_phone["电信"],
'password': '{B}' + pwd, # 发现最后密码这里使用了base64加密,所以需要使用base64模块对密码进行加密
'ac_id': '2',
'user_ip': '',
'nas_ip': '
版权声明:本文标题:python爬虫模拟登陆校园网+连接校园wifi 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1740335337a2263140.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论