python爬虫模拟登陆校园网+连接校园wifi

注:本文仅作为学术交流和技术分析,所有的敏感信息全部打码,登录的账号为本人自己的账号,不涉及任何敏感行为,转载请注明

因本人在学校学习期间每次开机,都需要连接校园的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': '',
    'user_m
  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值