Python 远程开关机

原文链接:https://mp.weixin.qq.com/s/RSod4XWxyzL32eNcrXLjUQ

源码:

python远程关机.py

def wake_up(request, mac='DC-4A-3E-78-3E-0A'):
    MAC = mac
    BROADCAST = "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)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现Python远程关机功能,可以使用Python的subprocess模块结合操作系统的命令来实现。以下是一个简单的示例代码: ```python import subprocess # 远程关机函数 def remote_shutdown(ip, username, password): # 构造远程关机命令,使用ssh命令连接远程主机并执行关机命令 shutdown_command = f"ssh {username}@{ip} 'sudo shutdown now'" try: # 执行远程关机命令,需要输入远程主机的密码 subprocess.run(shutdown_command, shell=True, capture_output=True, input=f"{password}\n", text=True, timeout=10) print("远程关机指令已发送成功!") except subprocess.TimeoutExpired: print("远程关机失败:连接超时!") except subprocess.CalledProcessError as e: print(f"远程关机失败:{e.stderr}") # 测试示例 if __name__ == "__main__": # 设定要关机远程主机的IP地址、登录用户名和密码 remote_ip = "192.168.1.100" remote_username = "admin" remote_password = "123456" # 调用远程关机函数 remote_shutdown(remote_ip, remote_username, remote_password) ``` 以上代码使用ssh命令连接远程主机,并执行`sudo shutdown now`命令实现关机功能。需要提供远程主机的IP地址、登录用户名和密码作为参数。当命令成功执行后,会打印出"远程关机指令已发送成功!"的提示信息。 关于源码下载,可以使用各种方式获取到上述代码,可以通过复制粘贴到本地文本编辑器中保存为Python脚本文件,或者通过版本控制工具(如Git)下载代码仓库中的相关文件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值