Как из сценария перезагрузить роутер Zyxel
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://192.168.1.1/ci');
curl_setopt($ch, CURLOPT_POSTFIELDS, '<request id="0"><command name="system reboot"></command></request>');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/xml']);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($ch, CURLOPT_USERPWD, 'ЛОГИН:ПАРОЛЬ');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
$objectResult = new SimpleXMLElement($data);
В $objectResult будет ответ:
object(SimpleXMLElement)#1 (1) {
["response"]=>
object(SimpleXMLElement)#2 (2) {
["@attributes"]=>
array(1) {
["id"]=>
string(1) "0"
}
["message"]=>
string(21) "rebooting the system."
}
}
Код взят из модуля Устройства Онлайн Keenetic (keenetic_lan_devices) автора Krinopotam.
Создаем сценарий, запускаем и все.
Нижний Новгород, Россия
На форуме: SmoKE_xDDD