电脑定时开机及校园网自动登录设置

这篇具有很好参考价值的文章主要介绍了电脑定时开机及校园网自动登录设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.应用背景

为了追求更高的性价比,多数人的电脑选择自己配置电脑,由于配置的是台式机,不方便移动。为了在自己现场的时候也可以使用就需要用到桌面远程操作。在学校的场景下,由于校园网需要登录认证才能连接互联网,所以在远程操作的时候需要保证校园网处于登录状态。同时,有时候需要将电脑关机以延长使用寿命,而现有的远程开机操作大多需要购买相关硬件(学生党资金不充裕),鉴于此,对电脑设置定时开机操作在一定程度上可以守住钱袋子。

2.电脑定时开机

由于博主使用的Windows系统为win10,这里的操作以win10为例。(经博主测试,电脑是双系统(win10+ubuntu20.4)也可定时开机)

2.1需要在Windows上设置的相关操作

1.打开控制面板,找到“系统与安全选项”

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

2.找到“电源选项”,点击,“更改电源按钮功能”

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

3.点击“更改当前不可用设置”

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

4.取消“启用快速启动(推荐)”

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

5.保存更改,关闭窗口,在Windows上的设置完成

2.2在bios上设置的相关操作

博主使用的主板是微星主板,这里设置以微星主板为例(各大主板操作应该相差不大)

1.进入bios,如果是高级模式则进行下一步操作,如果不是则按“F7”进入高级模式,高级模式如下图

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

2.单击SETTINGS,进入SETTINGS设置,选择高级选项

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

3.点击“唤醒事件设置”

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

4.将“即时(RTC)闹铃唤醒”更改为允许;“日期(月份)闹钟”设置为0表示为每天,设置为1表示为每月1日,2为2日,依次类推,最大为31日;后面的“时分秒”则设置为在某天的几点几分几秒(时间格式为24小时制)进行唤醒操作。博主的设置如下图,表示每天早上7点0分0秒进行唤醒操作

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

5.点击右上角“X”,选择保存并退出,bios上的相关操作到这里设置完成

3.校园网自动登录程序

博主学校的校园网认证采用的是网页认证,认证请求方式为GET。具体查看校园网认证请求方式可以打开浏览器(Chrome或则edge浏览器都可以),按“F12”打开开发者模式,打开校园网认证页面。如下图所示

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

1.校园网登录程序如下

需要额外安装的库

pyinstaller~=4.7
requests~=2.26.0
import subprocess
import time
import requests

class Network:
  def __init__(self, userId, password, delay_time, ping_baidu, ping_campus):
    self.userId = userId
    self.password = password
    self.delay_time = delay_time*60 #秒转化为分钟
    self.ping_baidu = ping_baidu
    self.ping_campus = ping_campus

  def __call__(self):
    self.run_loop() # 第一次执行

  def ping_network(self, ip_or_domain):
    si = subprocess.STARTUPINFO()
    si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
    try:
        output = subprocess.check_output('ping %s -n 3 -w 80' % ip_or_domain, stderr=subprocess.STDOUT, universal_newlines=True, startupinfo=si)
        if '100% packet loss' in output:
            # print('Ping failed: 100% packet loss')
            return False
        else:
            # print('Ping succeeded')
            return True
    except subprocess.CalledProcessError as e:
        # print('Ping failed:', e.returncode, e.output)
        return False

  def get_wlan_ip(self):
      headers = {
          "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.7",
          "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",
          "Host": self.ping_campus,
          "Referer": "http://%s" % self.ping_campus,
          "Upgrade-Insecure-Requests": "1",
          "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"
      }
      try:
        result = requests.get('http://%s' % self.ping_campus, headers)
      except requests.exceptions.RequestException as e:
        # print("请求异常:", e)
        return False
      ip = ""
      for i in range(result.text.find('ss5=') + 5, result.text.find('ss6=')):
          if result.text[i] == '"': break
          ip = ip + result.text[i]
      print("本机ip:%s" % ip)
      return ip

  def login(self):
      userip = self.get_wlan_ip()
      if userip :
          url = 'http://{}:801/eportal/portal/login?callback=dr1003&login_method=1&user_account=%2C0%2C{}&user_password={}&wlan_user_ip={}&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=&jsVersion=4.2.1&terminal_type=1&lang=zh-cn&v=7923&lang=zh'.format(
              self.ping_campus,
              self.userId, self.password, userip)
          headers = {
              "Accept": "*/*",
              "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",
              "Connection": "keep-alive",
              "Host": self.ping_campus,
              "Referer": "http://%s/" % self.ping_campus,
              "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"
          }
          try:
            req = requests.get(url, headers)
          except requests.exceptions.RequestException as e:
            # print("请求异常:", e)
            return False
          if req.status_code == 200:
              return True
          else:
              return False
      else: return False


  def run_loop(self):
    while True :
        flag_campus = self.ping_network(self.ping_campus)
        flag_baidu = self.ping_network(self.ping_baidu)
        if flag_campus and flag_baidu :
            print("校园网连接正常!")
        else:
            if not flag_campus :
                print("无法访问校园网登录页面, 请检查是否连接网络!")
            elif not flag_baidu :
                print("校园网未登录, 尝试重连中...")
                relogin = self.login()
                time.sleep(3)  # 等待3秒钟再判断是否登录成功
                if relogin and self.ping_network(ping_baidu):
                  print("校园网已登录")
                else: print("校园网登录失败")
        time.sleep(self.delay_time)

if __name__ == '__main__':
    userId = "++++" #校园网账号
    password = "++++" #校园网密码
    delay_time = 360 #360分钟后判断是否需要重连
    ping_baidu="baidu.com" #百度
    ping_campus="++++++" #校园网认证页
    network = Network(userId, password, delay_time, ping_baidu, ping_campus)
    network()

2.主函数中userid为自己的校园网账号;password为自己的校园网密码;ping_campus为检测电脑是否连接到互联网的网址,可以替换为任一国内互联网网址(bilibi.com之类);ping_campus为自己学校的校园网认证页网址

if __name__ == '__main__':
    userId = "++++" #联通加上%40unicom,电信加上%40telecom,移动加上%40Mobile
    password = "++++"
    delay_time = 360 #360分钟后判断是否需要重连
    ping_baidu="baidu.com" #百度
    ping_campus="++++++" #校园网认证页
    network = Network(userId, password, delay_time, ping_baidu, ping_campus)
    network()

3.ping_network用于测试网络连通性

下面代码为Windows中使用

  def ping_network(self, ip_or_domain):
    si = subprocess.STARTUPINFO()
    si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
    try:
        output = subprocess.check_output('ping %s -n 3 -w 80' % ip_or_domain, stderr=subprocess.STDOUT, universal_newlines=True, startupinfo=si)
        if '100% packet loss' in output:
            # print('Ping failed: 100% packet loss')
            return False
        else:
            # print('Ping succeeded')
            return True
    except subprocess.CalledProcessError as e:
        # print('Ping failed:', e.returncode, e.output)
        return False

ubuntu下使用下面代码

  def ping_network(self, ip_or_domain):
    ping_result = subprocess.call(['ping', '-c', '3', ip_or_domain])
    # 判断Ping结果中是否有100%丢失
    if ping_result == 0:
      return True
    else:
      return False

4.获取学校服务器分配的校园网IP地址,其中的headers根据不同学校可能有所不同,url为Request URL,可以浏览器开发者模式获取。对应填入即可

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

ip通过向校园网认证页发送请求所得到的响应提取出来

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

  def get_wlan_ip(self):
      headers = {
          "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.7",
          "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",
          "Host": self.ping_campus,
          "Referer": "http://%s" % self.ping_campus,
          "Upgrade-Insecure-Requests": "1",
          "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"
      }
      try:
        result = requests.get('http://%s' % self.ping_campus, headers)
      except requests.exceptions.RequestException as e:
        # print("请求异常:", e)
        return False
      ip = ""
      for i in range(result.text.find('ss5=') + 5, result.text.find('ss6=')):
          if result.text[i] == '"': break
          ip = ip + result.text[i]
      print("本机ip:%s" % ip)
      return ip

5.登录函数,与步骤4相同方式可以获得url和headers,

  def login(self):
      userip = self.get_wlan_ip()
      if userip :
          url = 'http://{}:801/eportal/portal/login?callback=dr1003&login_method=1&user_account=%2C0%2C{}&user_password={}&wlan_user_ip={}&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=&jsVersion=4.2.1&terminal_type=1&lang=zh-cn&v=7923&lang=zh'.format(
              self.ping_campus,
              self.userId, self.password, userip)
          headers = {
              "Accept": "*/*",
              "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",
              "Connection": "keep-alive",
              "Host": self.ping_campus,
              "Referer": "http://%s/" % self.ping_campus,
              "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"
          }
          try:
            req = requests.get(url, headers)
          except requests.exceptions.RequestException as e:
            # print("请求异常:", e)
            return False
          if req.status_code == 200:
              return True
          else:
              return False
      else: return False

6.在pycharm中选择终端,输入以下指令即可生成可执行文件

pyinstaller --onefile -w auto_connect.py #auto_connect.py替换成自己命名的名字

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

4.设置开机自启动

1.右键此电脑,管理;选择“创建任务”

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

2.常规设置,名称和描述无所谓,按选项选需要修改成第二项

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

3.触发器,选择“新建”,“开始任务”选择“启动时”

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

4.操作,选择“新建”,“浏览”找到自己生成的可执行文件,双击,确定

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络

5.点击确定,就创建好任务了。以后只要电脑开机,就会自动运行程序了

电脑定时开机及校园网自动登录设置,电脑,服务器,python,网络文章来源地址https://www.toymoban.com/news/detail-806183.html

到了这里,关于电脑定时开机及校园网自动登录设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 实现校园网开机自启动部署

    ❤️ 博客主页 :  iknow181 🔥 系列专栏 :  Python 、 JavaSE 、 JavaWeb 、 CCNP 🎉 欢迎大家点赞👍收藏⭐评论✍ 目录 一.准备工作 1、IDE安装 2、安装Selenium 1.介绍 2.下载 3、安装pywifi 1.介绍 2.下载 4、下载浏览器驱动 二、登录校园网 1、打开浏览器 2、在网页中输入信息 3、对网页

    2024年02月04日
    浏览(20)
  • 【edusrc】某校园网登录系统存在的一个简单爆破

    该漏洞已修复 马上又要发工资了,两个月只挖了一个半洞拿四佰让我有点挂不住脸 没啥思路,正百无聊赖刷B站,突然视频缓冲中。 一看,超。校园网寄了,又要交钱。 众所周知某校的校园网像shit 可是不续的话流量也限速了。 nnd,爷不装了。看看能不能实现白嫖校园网。

    2024年02月04日
    浏览(33)
  • 小米手机连接校园网无法跳转到登录界面

    问题: 小米手机 MIUI12 系统,在连接校园网后显示需要登录,但是无法跳转到登录界面。连接其他wifi是没有问题的,但凡是需要登录的wifi就不行,会出现 net:ERR_CONNECTION_RESET... 试过很多方法,感觉这可能是个玄学,但是都试一试,或许哪个就可以了呢ahh 1. 一试就可以成功跳

    2024年02月10日
    浏览(17)
  • 校园网免认证登录的方法-利用udp53端口

    原理 (不想了解原理直接点击步骤跳转) 首先想要上网的先决条件就是要有一个属于自己的IP地址,我们的校园网都是链接WIFi后验证身份的,但请注意,这个时候我们已经连接上了学校装的路由器。所以我们先查看在不登录的情况下,学校的路由器是否给我们分配了IP(在后

    2024年02月08日
    浏览(19)
  • Win11校园网不弹出登录页面怎么回事?

    Win11 校园网不弹出登录页面怎么回事?最近有用户在使用校园网的时候遇到了一些问题,访问登录网站的时候,一直无法显示登录的界面。那么遇到这个情况如何去进行解决呢?一起来看看以下的解决方法分享吧。 解决方法如下: 方法一: 1、按下键盘上的win+i组合键打开系

    2024年02月07日
    浏览(17)
  • 树莓派通过网线连接电脑(校园网也能连接),实现SSH连接

    前言 之前通过串口登入树莓派,太麻烦,通过网络登入树莓派,学校校园网又连接不了,想起来可以使用网线连接树莓派和电脑。 目录 树莓派通过网线连接电脑思路分析 树莓派通过网线连接电脑实现 1.硬件需求 2.打开Windows的网络 3.打开未识别的网络 4.打开Windows的CMD命令行

    2024年02月05日
    浏览(24)
  • 解决联想电脑频繁打开浏览器弹出校园网认证页面

    原文链接:https://blog.csdn.net/zhr199970910/article/details/131126758 先说原因,是 联想智能引擎 的问题。 笔记本电脑开机后,自动连接WIFI并且不停的打开浏览器跳转到校园网登录页面,有时甚至能打开二三十个页面,当你输入帐号密码准备登录时,新打开的登录页面又将旧页面覆盖

    2024年02月06日
    浏览(22)
  • 校园网无法登录IEEE(ieeexplore.ieee.org)问题的解决方法(简单易操作,不用改host文件)

    校园网无法登录IEEE(ieeexplore.ieee.org)问题的解决方法(简单易操作,不用改host文件 不需要改变注册表或者运行代码的方法,简单易操作哦!(本人用的win11系统) 码字不易,有用的话就多多打赏吧!(⊙V⊙) 方法如下: 1.打开网络共享中心  2.点击高级网络设置 3.划到最下方

    2024年02月11日
    浏览(22)
  • 非图形化Linux发行版登录校园网方法——使用python3,selenium,chromium,chromium-driver。

    写在前面:         使用非图形化的Linux发行版登录校园网,属实有点让人头疼的,我在网上找到了通过 wget 发送数据包的方法来登录校园网,但是个方法在我的学校行不通,我学校的校园网不支持发送数据包来登录的,于是我去找“校园网管理中心”的人对线,得到的却是

    2024年02月03日
    浏览(20)
  • 解决,“该设备或资源(Web 代理)未设置为接受端口“7890”上的连接“的校园网代理问题

    本文将围绕“该设备或资源(Web 代理)未设置为接受端口‘7890’上的连接”的错误信息,详细解释报错问题、分析报错原因,并提供有效的解决方法。这个错误通常出现在校园网环境下,当用户尝试通过代理服务器访问外部网络时可能会遇到。 用户在使用校园网时,通过配置

    2024年04月26日
    浏览(18)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包