江西理工大学校园网开机自动连接加断网重连保姆级教程(Window版本) 2023.5.20

本文主要是介绍江西理工大学校园网开机自动连接加断网重连保姆级教程(Window版本) 2023.5.20,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:

    本教程也可适用于校园网用 GET 方法发送网页请求的高校,可按需修改。

前期准备:

 

  1. 已经配置好python环境,这里采用的是python 3.10版本
  2. 最好能有一个适合开发的IDE,这里用到的是pycharm最新版
  3. 谷歌/微软浏览器,能够打开开发人员工具就行(非必选),这里用的是最新版的edge浏览器

一、打开学校的登录认证平台

        这里附上网址:http://10.17.8.18/

3adebcb7af0f4415ab9835619b9f01e6.png

         打开之后先别登录,右键空白区域点击“检查”或者按“f12”打开开发人员工具,选到“网络”,把下面的“保留日志”给选上

        

a2229d67e3cb4242971cd1c3434aa058.png

 

        这时我们输入我们的账号密码,选择正确的运营商登录,然后就能在右边看到一堆信息,然后找到我们需要的“login”开头的登录信息,这个信息不一定在第一行,只要找到就行,然后点击表头,把那个“请求URL”后面的东西复制备用:

c7ac1ba79674432bbb97b50a2f7438f8.png

 

7e47aef232aa4b8ca4454705f0ab928b.png

         经过观察发现,这个网页用get方法去响应,我们只需修改user_account,user_password,wlan_user_ip为自己的信息就能登录了。

二、打开PyCharm

       新建一个python文件名为:“InternetConnect”

d50ecac565434ea18696a2f45e573a6b.png

 

        因为我们的IP地址不一定不变,这里直接采用socket.gethostbyname()方法

import socket
hostname = socket.gethostname() #获取本机计算机名称
ip = socket.gethostbyname(hostname) #获取本机ip

        然后再把我们刚才的ULR地址处理一下,里面的user_account:

        电信账号是:一卡通号@telecom

        移动账号是:一卡通号@cmcc

        联通账号是:一卡通号@unicom

        密码就是一卡通密码

e0460978c9bc4bb890ff808649b94794.png

         下面的代码要在“user_account=”后面加上自己的账号,“user_password=”后面接自己的密码

a = 'http://eportal.jxust.edu.cn:801/eportal/portal/login?callback=dr1003&login_method=1&user_account=&user_password=&wlan_user_ip='
b = '&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=&jsVersion=4.1.3&terminal_type=1&lang=zh-cn&v=3995&lang=zh'

         这时候我们在“a”和“b”这两个字符串中加入我们之前获得的ip地址,拼接成一个新的字符串ULR地址:

url = a + ip + b

         最后我们把这个ulr作为requests.get()的参数就可以了

import requests  #用于向目标网站发送请求
r = requests.get(url) #ulr为你刚才复制的地址
r.close() 

        这里附上(未完善的)代码:

import requests  # 用于向目标网站发送请求
import socket
# 获取本机计算机名称
hostname = socket.gethostname()
# 获取本机ip
ip = socket.gethostbyname(hostname)
a = 'http://eportal.jxust.edu.cn:801/eportal/portal/login?callback=dr1003&login_method=1&' \'user_account=&user_password=&wlan_user_ip='
b = '&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=' \'&jsVersion=4.1.3&terminal_type=1&lang=zh-cn&v=3995&lang=zh'
url = a + ip + b
r = requests.get(url)
r.close()

          如果第一行有报错的可以使用pip命令去安装我们的requests库,这里提供两个安装的办法:

   1.直接在Pycharm里面安装

            我们把鼠标放旁边就会提示我们去安装这个包

f77550ef12994389923643e3f52a05fd.png

    2.采用pip命令下载

        同时按下win+r键,输入cmd,打开我们黑漆漆的窗口后直接输入下面命令,如果有其他错误可以先试着升级一下pip,具体百度

pip install requests

     3.采用Pycharm终端下载

         这一步和上面两步大同小异,就是下载的地方不一样。

         终端具体位置如下图所示:

fd69853c3dc84310ad57a81fd309987f.png

        但是我们的代码还没完善,可能会有max retires  error 11001 等错误信息(我一开始就是这里一直报错,虽然后面能正常联网,但是会弹出一个错误窗口,非常不美观!),这里我们还需要做一个异常的处理,代码如下,自行修改a的值(看上面)

        附代码:

try:import requests  # 用于向目标网站发送请求import socket# 获取本机计算机名称hostname = socket.gethostname()# 获取本机ipip = socket.gethostbyname(hostname)a = 'http://eportal.jxust.edu.cn:801/eportal/portal/login?callback=dr1003&login_method=1&' \'user_account=&user_password=&wlan_user_ip='b = '&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=' \'&jsVersion=4.1.3&terminal_type=1&lang=zh-cn&v=3995&lang=zh'url = a + ip + br = requests.get(url)r.close()
except requests.exceptions.ConnectionError:print("requests.exceptions.ConnectionError")

 

        然后我们先去网页把账号注销,然后直接运行这个程序,刷新页面如果能正常显示“你已经成功登录”就能进行下一步,或者去前面找原因

ad36e86279d5403ea3a15e02c6787de6.png

三、断网检测部分

      利用ping指令与百度官网测试是否联通,直接给上最后代码,记得加上自己的用户名和密码,前面提到

    完整代码

import re
import requests  # 用于向目标网站发送请求
import socketdef Statu():  # 监测是否断网try:q = requests.get("http://www.baidu.com", timeout=500)m = re.search(r'STATUS OK', q.text)if m:print("Connect Success")return 0else:print("Connect Failed")return 1except :pass
def login():try:# 获取本机计算机名称hostname = socket.gethostname()# 获取本机ipip = socket.gethostbyname(hostname)a = 'http://eportal.jxust.edu.cn:801/eportal/portal/login?callback=dr1003&login_method=1&' \'user_account=&user_password=&wlan_user_ip='b = '&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=' \'&jsVersion=4.1.3&terminal_type=1&lang=zh-cn&v=3995&lang=zh'url = a + ip + br = requests.get(url)except :passwhile True:if Statu():login()else:print("ConnectSuccess")

四、打包python文件(可跳过)

       如果不介意开机会弹出一个黑色框(所谓的“终端”),这步可跳过,不过可能有点影响美观!

        用pip命令安装pyinstaller工具包来打包,win+r弹出输入cmd,直接输入:

pip install pyinstaller

        期间有问题都可以百度自行解决,等待安装好之后我们可以在PyCharm下面找到“终端”打开

f1b2f7e54f2e44d193c25b522c93acd0.png

         在这里面输入:

pyinstaller -F -w InternetConnect.py

         其中-F表示对单个python文件打包,-w表示不显示终端窗口(这一步可以增强体验)然后“InternetConnect”就是我们的python源文件        

e5c3d679947841a5bd0a71d8fce07eb7.png

         然后在PyCharm找到我们的InternetConnect.py文件右键>打开于>文件资源管理器

d9f36b0452364aeea2ad37999a392827.png

         然后打开“dist”文件夹里面就有一个打包好的名为“InternetConnect.exe"的文件11a4c90957bd4663a78c03e746fd672e.png

         右键复制文件地址备用

b21b6950e8ce414e8eb932eb59cdcdb8.png

 五、添加到开机启动项

     打开我们的“计算机管理”

       win10:

        方法一:

  1、快捷键Window徽标键+R键,打开“运行”程序。

  2、运行,打开:输入compmgmt.msc敲回车。

  3、就可以打开“计算机管理”。

  方法二:

  计算机右单击弹出快捷菜单选择管理,就可以打开计算机管理。

  方法三:

  任务栏搜索框里搜索计算机单击计算机管理,就可以打开计算机管理。

  方法四:

  开始右单击弹出快捷菜单选择计算机管理就可以打开计算机管理。

        win11:

        按win+x打开“计算机管理”,选择>系统工具>任务计划程序

        

        然后执行下面操作

4fe0aadd74c440d9ab5d95ddecdf5a30.png

 

         在右边点击“创建任务”

32958b003a104f1bb68f0ca46068091e.png

         >常规 这里名称还是改为“InternetConnect”,注意勾选“只在用户登录时运行”,下图配置可改为windows10

4ea3259e98b943b79222f3c314bb8429.png

 >触发器>新建一个触发器,按如下设置:

e6e79922214a464591b760f3086d32c6.png

 >操作>新建一个操作 按下图操作,图中的程序或脚本下面的空行是我们刚才复制的InternetConnect.exe文件的地址,(如果第三步跳过的,这里就是你python文件的路径),粘贴进去就行

51428f3ce2a5471da8caeb8f2ac0406f.png

 >操作  注意这里要勾选:只有在以下网络连接可用是才启动”>任何网络,这样我们只要连上网络就会自动进行一个校园网的认证操作,(或者选择为连上学校WiFi“JXUST-WIFI”,仅适用于用WiFi连接校园网)

e33e2dec888c4fa699ea9d65aa772547.png

 >设置  设置可以根据情况修改,但是第一个必须勾选

e208b6d1366f4c6bbeb3de1a3d8a16d6.png

       

        至此,大功告成,我们重启一下电脑登录以后等待几秒就能连上网络,大家快去试试吧~

注意事项:

      全文的代码都没添加用户名和密码,需要自己添加

       能力有限目前只能满足三江校区需求!!!

       程序一旦启动就会一直自动认证,想要注销认证信息的同学先通过任务管理器把 InternetConnect.exe 的程序关闭!!!

       有问题私信,看到会回

      !!! 问题太久没回加QQ:571081022 备注 “江理校园网自动连接有问题” 否则不予理会

修改日志:

      2023.5.24  增加了断网重连部分代码,修改部分错误

      2023.6.22  把异常捕获的具体删除,能够捕获更多的异常类型,避免偶尔因为校园网已经连上了一台设备而引起的异常

      2023.12.3  第二部分多增加了第三种下载requests库方法

      2023.12.4  增加前言部分,扩大本教程适用范围

参考文章:

http://t.csdn.cn/HRIuz

 

 

 

这篇关于江西理工大学校园网开机自动连接加断网重连保姆级教程(Window版本) 2023.5.20的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/482250

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

Java 连接Sql sever 2008

Java 连接Sql sever 2008 /Sql sever 2008 R2 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestJDBC

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |