校园网自动登录(手把手教你做个小软件)

概要

一关电脑,校园网就给你断了,对这种不太聪明(极其s~b)的操作很无语(he~tui~)忍不了了,趁着最近刚学完爬虫,搞了自动登陆小程序,我是菜鸟,大佬轻喷。


 整体架构流程
获取请求头--->提交数据--->打包成软件--->任务计划程序。

技术流程

现在请打开你们的浏览器进入到登陆页面(先不要提交,不要提交,不要提交),提交了的给我退出登陆重来,并打开调试窗口(F12,或者Fn+F12),长得不一样不重要,大致是这个样子,我用的谷歌浏览器,然后两步走,中文的话第一步点《网络》就行

 然后就来到了这个样子,咋们找到框框里面绿条最长的那个(一般来说)点进去,如果下一步没有你想要的信息那可能不是这个,一个一个试一下。

首先找到Request Headers字段,请记住这个字段,把他完整的复制下来,有些网站可能不叫这个名字,不过无所谓,认准Headers就行了

然后找到Form Data字段,同样保存下来,找不到就往下翻翻,总会找到的嘿嘿。 

找到Request字段,这是待会代码中要用的网址,记住他!!

 

代码

请认真看代码,没有的库自己安装一下

import subprocess
import requests
import socket
import time

#获取本机ip
def get_host_ip():
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect(('10.255.255.255', 1))
        ip = s.getsockname()[0]
    finally:
        s.close()

    return ip
user_ip = get_host_ip()
# 校园网地址,最好不要用浏览器里的url,还是建议抓包获取
post_addr = "这是上面让你记住的网址,填进来"

# 下面两个大括号里面都是复制自己学校校园网登录网站中的,冒号两边都要加上双引号,字段可能有些不一
#样不过无所谓,有些字段啥也没有,但是你也要打个双引号
post_header = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
    'Cache-Control': 'max-age=0',
    'Connection': 'keep-alive',
    'Content-Length': '391',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Cookie': 'JSESSIONID-BOSS-2=386C527188F5E01ADA0B6E11C752AFAB; remeberMeCookie=b53fd714e8b5eeddafc11c04225b3da5c9499e45673b2159882231430db45b5b0ac2414e5db35a60f93603296a85107a; portal_token=b53fd714e8b5eeddc38359f1fc663dc6ac90e96ae9f4227d2dda92239b378c456db5d0aa4895ba28',
    'Host': '172.16.253.55',
    'Origin': 'http://172.16.253.55',
    'Referer': 'http://172.16.253.55/portal.do?wlanacname=000000021.210.00&wlanuserip=172.20.149.161&wlanparameter=38.68.93.87.96.dc&usermac=38:68:93:87:96:dc',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.42',
}
post_data = {
    'hostIp': 'http://127.0.0.1:8082/',
    'loginType':'',
    'auth_type': '0',
    'isBindMac1': '1',
    'pageid': '1',
    'templatetype': '1',
    'listbindmac': '1',
    'recordmac': '0',
    'isRemind': '1',
    'loginTimes':'' ,
    'groupId': '',
    'distoken': '',
    'echostr': '',
    'url': '',
    'isautoauth': '',
    'notice_pic_loop1': '/portal/uploads/pc/demo3/images/logo.jpg',
    'notice_pic_loop2': '/portal/uploads/pc/demo3/images/rrs_bg.jpg',
    'userId': '我的账号(手动屏蔽)',
    'passwd': '我的密码(滑稽)',
    'twiceauth': '1',
    'remInfo': 'on',
}  # 负载中的表单数据

#提交数据
z = requests.post(post_addr, data=post_data, headers=post_header)# 提交http请求报文

#PING一下百度看看有没有连接成功
backinfo = subprocess.call('ping www.baidu.com -n 1', shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if backinfo:
    print('网络未连接')
else:
    print("登录校园网成功,当前IP地址为:"+str(user_ip))

代码就是这个,咋们运行一下,不出意外的话肯定成功了

废话不多说,直接下一步,(copy一段话)

 Pyinstaller是一个十分有用的Python第三方库,它能够在windows、Linux、MacOS X 等操作系下将Python源文件(即.py文件)打包,变成直接可运行的可执行文件。通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立文件方便传递和管理。Pyinstaller需要在命令行下用pip工具安装,安装如下:如何使用点我,题主懒哈哈哈

pip install PyInstaller

OK,兄弟们,默认你们已经打包好了哈哈哈。接下来到最后一步,找到你电脑上的任务计划程序,我这是win11的,win10的好像也是一样的,俺直接搜的,打开它

任务计划程序库---创建任务---名称,把我图中勾选的都整起。

 然后点触发器,编辑一下,搞成我这样的条件

点击操作新建一下,位置你是的校园网程序的位置

完了之后在任务计划程序库里面看得见,到这就结束啦。以后每次打开笔记本都会自动连接校园网,烦人的弹窗再也不见了,美滋滋。

小结

代码还可以优化一下,假如出门在外随时需要连接的脑的话,也可以让它定时执行程序啥的,把触发条件改改就行了。ok,别忘了点个赞,兄弟们。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值