В настоящее время я пытаюсь написать скрипт, который перезагрузит мой Virgin SuperHub, если он настроен как задание cron.
Тем не менее, он продолжает сбой со следующей ошибкой:«Нет формы с идентификатором" VmRgRebootRestoreDevice "в /home/ricky/Downloads/Ubuntu/Scripts/SuperHubReboot.pl строке 11».
Вот код в моем скрипте (используя WWW:Mechanize в Ubuntu 16.04):
use WWW::Mechanize;
my $mech = WWW::Mechanize->new( autocheck => 0);
#login
$url="http://@ARGV[0]";
$mech->get( $url );
$mech->form_name('VmLogin');
$mech->field("VmLoginUsername","@ARGV[1]");
$mech->field("VmLoginPassword","@ARGV[2]");
$mech->submit_form(); #get settings page and reboot $url = "http://@ARGV[0]/VmRgRebootRestoreDevice.asp";
$mech->get( $url );
$mech->form_id("VmRgRebootRestoreDevice");
$mech->field("VmDeviceRestore",'0');
$mech->field("VmDeviceReboot",'1');
$mech->submit_form(); exit;
Я проверил элементы в портале маршрутизатора, и "VmRgRebootRestoreDevice" является правильной ссылкой на страницу, на которую нужно перейти для перезагрузки.
У кого-нибудь есть опыт использования скрипта для перезагрузки своего SuperHub? Если так, как вы заставили его работать в Ubuntu / Linux?