【Python】如何用python实现远程开机?(详细操作步骤)
创始人
2025-06-01 11:57:35
0

文章目录

  • 前言
  • 一、本文目标
  • 二、Python 开机
    • 1.引入库
    • 2.实际操作
    • 2.Python 关机
  • 总结


前言

用 Python 关机你肯定听过或者实践过,那么用 Python 开机呢?这是一个神奇的方法,教你如何用 Python 来开机。


提示:以下是本篇文章正文内容,下面案例可供参考

一、本文目标

远程开机原理

Python 远程开机代码实现

Python 关机说明

二、Python 开机

1.引入库

关于用程序来开机,是怎么做到的呢?这就是 WOL 技术 Wake-On-Lan, 利用计算机在关机或休眠状态时,网卡及主板部分仍然有微弱的供电,当然要保持电源是插上的,而且是有线连接。所以即使在关机情况下,网卡还是有一定运作能力的,可以监听计算机外部的网上广播信息,当发现特定格式的信息后就会执行开机。
在这里插入图片描述
在这里插入图片描述

下图这个勾不能选上,我们要保证网卡在关机后仍有供电,如果你关机后,网口的灯不亮了,就不行了,要保持网口灯亮。
在这里插入图片描述
这个特定数据也有个好听的名字叫 Magic Packet(魔法数据包)。一般用过 UDP 协议进行广播。端口一般是7或者9. 魔法数据包总是以"FF FF FF FF FF FF" 连续6个 “FF”,后面是 MAC 地址信息,一旦网卡侦测到数据包内容,就会唤醒目标计算机。

我们还是来看一下代码怎么写,代码涉及到 UDP 网络编程这块,后面会专门写写网络编程这块内容。 此函数只需输入目标计算机的 MAC 地址即可,在局域网中(当然,如果你的计算机有公网IP,那么在公网中也是可以的)另一台计算机上运行此程序,目标计算机即可自动开机。 视频如下:

2.实际操作

代码如下(示例):

def wake_up(request, mac='DC-4A-3E-78-3E-0A'):MAC = macBROADCAST = "192.168.0.255"if len(MAC) != 17:raise ValueError("MAC address should be set as form 'XX-XX-XX-XX-XX-XX'")mac_address = MAC.replace("-", '')data = ''.join(['FFFFFFFFFFFF', mac_address * 20])  # 构造原始数据格式send_data = b''# 把原始数据转换为16进制字节数组,for i in range(0, len(data), 2):send_data = b''.join([send_data, struct.pack('B', int(data[i: i + 2], 16))])print(send_data)# 通过socket广播出去,为避免失败,间隔广播三次try:sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)sock.sendto(send_data, (BROADCAST, 7))time.sleep(1)sock.sendto(send_data, (BROADCAST, 7))time.sleep(1)sock.sendto(send_data, (BROADCAST, 7))return HttpResponse()print("Done")except Exception as e:return HttpResponse()print(e)

该处使用的url网络请求的数据。

2.Python 关机

关机来说相对就容易多了,网上也有很多现成的解决方案。大多数是用程序扫描邮箱,如果收到关机相关关键词的邮件,则程序自动执行关机命令。

另外如果只是在局域网里实现关机,或者你有公网 IP 地址的话,也可以在本地计算机起一个服务,比如用 Flask 运行在5000端口。向5000这个地址发送指令即可。 本机程序中需要有一条执行关机的命令即可

import os
os.system(‘shutdown -s -t 00’)

总结

有任何问题请给徐浪老师留言哈!

相关内容

热门资讯

美国总统特朗普关税政策的法律对... 美国总统特朗普关税政策的法律对头们要求法院在特朗普政府上诉期间暂停实施关税。
芯朋微将于6月18日召开股东大... 金融界6月2日消息,芯朋微发布公告,将于2025年6月18日召开第1次临时股东大会,网络投票同日进行...
“开盒”游戏害了多少孩子?看这... 5月29日,在最高人民法院“六一”儿童节公众开放日活动上,由最高人民法院新闻局、民一庭、人民法院出版...
原创 一... 近期,伴随着中国积极推行国际调解机制的浪潮,历史冤家柬埔寨与泰国却在边境地区上演了一场短暂却引发广泛...
2025深圳最新购房政策汇总! 深圳最新的购房政策是如何的? 今日小编为大家整理 2025年深圳买房政策汇总 大家一起来看看 一、...
南昌南斯友好路两家“海湾石油”... 今天(2日)上午 多名消费者向《都市现场》反映 他们在南昌南斯友好路上的两家“海湾石油” 预付充值了...
曝拜仁与莱奥密谈!AC米兰索要... 足坛转会市场再起波澜!德甲巨无霸拜仁慕尼黑,这次将目光投向了亚平宁半岛,盯上了AC米兰的王牌边锋——...
曼联2500万甩卖“铁腰”,那... 提起苏格兰中场斯科特·麦克托米奈,如今的足坛可谓是无人不知,无人不晓。但就在2024年夏天,当曼联以...
行驶中推送广告、恶意更新隐私政... 深蓝汽车法务部今日(6 月 2 日)发布声明提出,部分网络内容发布 “深蓝汽车在行驶过程中推送广告严...
德国银行高管:美政府政策频繁变... 根据德国《商报》6月2日刊发的专访文章,德国国家开发银行复兴信贷银行董事会主席斯特凡·温特尔斯指出,...