Rumah  >  Soal Jawab  >  teks badan

Skrip Python WoL gagal pada Synology RS1221+ tetapi berjalan dengan jayanya pada QNAP TS-219P II

Saya agak baru menggunakan Python dan saya tidak faham mengapa skrip yang sama tidak berjalan pada RS1221+ NAS saya tetapi berjalan pada QNAP ts-219p ii tanpa masalah. Ia adalah skrip WoL yang direka untuk membuka PC tertentu melalui halaman HTML. Anda menekan imej PNG, yang kemudiannya memanggil skrip php, yang seterusnya memanggil skrip Python tersebut.

Saya baru sahaja menyalin skrip php dan python daripada rakan sekerja. Ia berfungsi dengan sistem NAS QNAP ts-219p, tetapi bukan RS1221+ yang lebih baharu. Pakej berikut dipasang pada sistem baharu: Python 3.9, Node.js v 18 dan php 8.0.

Dalam Stesen Web pada RS1221+, Python diaktifkan dan kelihatan hijau. Modul "wakeonlan" versi 3.0.0 juga dipasang di bahagian "Pengeditan".

Ini adalah skrip php yang memanggil skrip python (di mana x adalah pemegang tempat dan ditukar untuk Mac untuk PC yang saya ingin buka). Alamat rangkaian saya ialah 192.168.0.1 /23:

<?php
system ( "python wake.py 192.168.1.255 XX:XX:XX:XX:XX:XX");
header ("Location:index.html");
?>

Ini skrip python saya (wake.py) untuk WoL yang dipanggil dan harus dijalankan pada pelayan:

import socket
import sys
 
if len(sys.argv) < 3:
    print("Usage: wakeonlan.py <ADR> <MAC>     (example: 192.168.1.255 00:11:22:33:44:55)")
    sys.exit(1)
 
mac = sys.argv[2]
data = ''.join(['FF' * 6, mac.replace(':', '') * 16])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(data.decode("hex"), (sys.argv[1], 9))

Saya telah cuba menukar skrip Python untuk menggunakan modul lain:

from wakeonlan import send_magic_packet

send_magic_packet('XX-XX-XX-XX-XX-XX')

Tetapi itu juga tidak berkesan. Seperti yang saya katakan, saya bukan guru ular sawa, itulah sebabnya saya menghargai sebarang nasihat.

P粉395056196P粉395056196244 hari yang lalu438

membalas semua(1)saya akan balas

  • P粉955063662

    P粉9550636622024-02-18 09:14:58

    Untuk sesiapa yang kembali kepada soalan ini:

    Menggunakan https://pypi.org/project/wakeonlan/pakej ini menyelesaikan semua masalah yang saya hadapi dengan Python.

    balas
    0
  • Batalbalas