Python实现校园网自动登录的脚本分享

 更新时间:2022年06月17日 09:19:08   作者:Python编程学习圈  
这篇文章主要和大家分享一个Python脚本,leukemia实现校园网自动登录功能。文中的示例代码简洁易懂,快跟随小编一起动手尝试一下吧

背景

我在的学校校园网登录是web式的,即随便打开一个网页就会自动跳转到登录页面,然后输入用户名密码,点登录,便可以上网了。

但这种登录方式有个缺点:登录状态不会一直保持下去。即过一段时间就会掉线,然后你需要重新登陆才行。这个时间大概是一天。

这就蛋疼了,想让实验室的电脑随时保持联网状态怎么办呢?(有时候我需要远程我的电脑)

这个时候可以用python脚本解决这个问题!

思路

写一个死循环一直 ping 8.8.8.8,如果 ping 通说明正连着网,进入下一次循环;如果 ping 不通,说明断网了,尝试登陆校园网,然后进入下一次循环。即:

ping 8.8.8.8 ---> 如果已联网 ---> 继续 ping 8.8.8.8 ---> …… ---> 如果断网 ---> 尝试登陆 ---> 登陆成功 ---> ping 8.8.8.8 ……

脚本写好后放到 windows 的计划任务里设置开机启动。

或者在linux中设置 crontab,一样的道理。

技术点

  • 利用 python 进行 post 请求
  • base64加密解密
  • 利用 subprocess 创建子进程

碎碎念

脚本在后台运行cpu占用大概为 1~2%,内存占用大概为 4M 左右,完全可以接受。

当然如果你有条件的话,运行在内网服务器上也是极好的,顺便可以连个路由器出来,这样实验室的小伙伴能用不断网的wifi了……

如果没有服务器,树莓派+路由器的组合也是一种解决方案~

当然最省钱的就是我这种把脚本直接跑在自己机器上的……

代码

#coding=utf8
import urllib,urllib2
import base64
import os , subprocess

username = '你的base64加密过的校园网用户名'
password  = '你的base64加密过的校园网密码'
url = 'https://login.xxxx.edu.cn/auth_action.php'   # 校园网登陆验证地址

def isConnecting():
    # Judge network connect status
    res = subprocess.call('ping 8.8.8.8 -n 1',shell=True)
    return False if res else True

def Signon():
    # Sign on
    data = {
        'action' : 'login',
        'username' : base64.decodestring(username),
        'password' : base64.decodestring(password),
        'ac_id' : 1,
        'save_me' : 0,
        'ajax' : 1,
    }
    data = urllib.urlencode(data)
    response = urllib2.urlopen(url,data=data)
    response = response.read().decode('utf8')
    print response

def main():
    while True:
        if not isConnecting():
            # no-connect status, attempt sign on
            Signon()

if __name__=="__main__":
    try:
        main()
    except Exception,e:
        print '[ERROR]:',
        print e

这个小脚本很简单,主要为大家提供一个思路~ 

编程语言可以方便我们的生活,我想这就是它存在的价值。

到此这篇关于Python实现校园网自动登录的脚本分享的文章就介绍到这了,更多相关Python校园网自动登录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在tensorflow中设置使用某一块GPU、多GPU、CPU的操作

    在tensorflow中设置使用某一块GPU、多GPU、CPU的操作

    今天小编就为大家分享一篇在tensorflow中设置使用某一块GPU、多GPU、CPU的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 使用Python对EXCEL数据的预处理

    使用Python对EXCEL数据的预处理

    这篇文章主要介绍了使用Python处理EXCEL基础操作篇2,如何使用Python对EXCEL数据的预处理,文中提供了解决思路和部分实现代码,一起来看看吧
    2023-03-03
  • 利用python画出AUC曲线的实例

    利用python画出AUC曲线的实例

    今天小编就为大家分享一篇利用python画出AUC曲线的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 如何用Matplotlib 画三维图的示例代码

    如何用Matplotlib 画三维图的示例代码

    这篇文章主要介绍了如何用Matplotlib 画三维图的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python数据处理的三个实用技巧分享

    Python数据处理的三个实用技巧分享

    数据处理无所不在,掌握常用技巧,事半功倍。这篇文章将使用Pandas开展数据处理分析,总结其中常用、好用的数据分析技巧,感兴趣的可以学习一下
    2022-04-04
  • jupyternotebook 撤销删除的操作方式

    jupyternotebook 撤销删除的操作方式

    这篇文章主要介绍了jupyternotebook 撤销删除的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python对指定目录下文件进行批量重命名的方法

    python对指定目录下文件进行批量重命名的方法

    这篇文章主要介绍了python对指定目录下文件进行批量重命名的方法,涉及Python中replace及join方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 通过Python的gtts库将文字转为音频的操作方法

    通过Python的gtts库将文字转为音频的操作方法

    文字转音频可以帮助视觉障碍者通过听取声音来获取信息,也可以帮助人们方便地听取一些长篇文章或学习资料,节省阅读时间和疲劳,这篇文章主要介绍了通过Python的gtts库将文字转为音频的方法,需要的朋友可以参考下
    2023-05-05
  • 基于Python实现一个简易的数据管理系统

    基于Python实现一个简易的数据管理系统

    为了方便的实现记录数据、修改数据没有精力去做一个完整的系统去管理数据。因此,在python的控制台直接实现一个简易的数据管理系统,包括数据的增删改查等等。感兴趣的可以跟随小编一起学习一下
    2021-12-12
  • 不需要用到正则的Python文本解析库parse

    不需要用到正则的Python文本解析库parse

    今天给你介绍一个好东西,可以让你摆脱正则的噩梦,那就是 Python 中一个非常冷门的库parse。有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10

最新评论