• njust校园网自动认证


    分析校园网登录页面

    打开登录界面,填入你自己的账号和密码(先别点击登录),然后按下 F12

    点击了登录后:
    ![[Pasted image 20231107150332.png]]

    获取登录请求的URL链接,可以看到南理校园网是使用POST的方式来登录的。

    • 查看POST请求参数:
      ![[Pasted image 20231107150632.png]]

    后面需要用到的是代表学号的username和代表登录密码的password。

    编写代码

    # _*_ coding : utf-8 _*_  
      
    import requests    # 用于向目标网站发送请求  
      
      
    url = 'http://m.njust.edu.cn/portal_io/login'  # 这行是你需要根据自己的情况修改的地方  
    data = {  
        "username": 'xxxxxx',   # 你滴学号  
        "password": 'xxxxxx',      # 你滴密码  
    }  
    # 下面这整个 header 都是需要根据网页中的请求头来做修改  
    # 下面这整个 header 是我的,你需要按照你自己浏览器中出现的 Response Headers (请求标头)来修改  
    header = {  
        "Accept": "application/json, text/javascript, */*; q=0.01",  
        "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",  
        "Content-Length": "108",  
        "Connectin": "keep-alive",  
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",  
        "Host": "m.njust.edu.cn",  
        "Origin": "http://m.njust.edu.cn",  
        "Referer": "http://m.njust.edu.cn/portal/index.html",  
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.46",  
        "X-Requested-With":"XMLHttpRequest"  
    }  
    response = requests.post(url, data, headers=header)  # POST 方式向 URL 发送表单,同时获取状态码  
    # print("状态码{}".format(response))  # 打印状态码  
    print(response.text)  
    print(response.status_code)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    运行结果:
    在这里插入图片描述

    设置自动运行

    在windows下设置自动运行校园网认证程序,我的主要思路是写一个bat脚本调用上面写的python代码,然后借助windows的定时任务功能定期执行bat脚本。

    bat脚本内容:

    @echo off
    python network.py
    rem timeout /t 2 /nobreak >nul
    
    • 1
    • 2
    • 3

    network.py为上面编写的python代码

    通过命令行设置

    设置每隔15min自动认证一次

    schtasks /create /tn connect_network /tr E:\run.bat /sc minute /mo 15 /st 00:00:00 /et 23:59:00
    
    • 1

    实际发现这样只能自动认证一天,因此进入图形化界面修改任务有效期(也可以直接图形化界面新建任务)
    打开路径:控制面板(可在命令行下输入control打开)-> 管理工具 -> 任务计划程序,打开主界面如下:
    ![[Pasted image 20231107151903.png]]

    找到刚刚新建的任务名,双击它
    ![[Pasted image 20231107152032.png]]

    ![[Pasted image 20231107152122.png]]

    修改触发器设置如下:
    ![[Pasted image 20231107152157.png]]

    可根据需要修改运行间隔。

    本人亲测自动认证有效

    参考资料

    自动登录校园网脚本(Python实现) - 知乎 (zhihu.com)
    windows下之定时执行bat脚本_bat定时任务-CSDN博客

  • 相关阅读:
    低代码PaaS开发平台
    php开发100问?
    C语言-入门-const关键字(十九)
    Thank you 我应该怎么去回应呢
    葡萄糖-聚乙二醇-阿奇霉素,Azithromycin-PEG-Glucose
    Nginx配置访问密码(在线|离线安装)
    Python文件高阶操作:复制、删除、移动、压缩文件夹
    nacos集群部署
    SSD程序
    【软件设计师21天-考点整理】3)计算机系统构成及硬件基础知识
  • 原文地址:https://blog.csdn.net/weixin_45816954/article/details/134268400