Другое > Hard'n'Soft
Reboot TP-Link MR3220 через URL
(1/1)
FEV:
Есть проблемка с TP-Link MR3220. Работает он нормально почти. На ночь иногда оставляю на компьютере "медиасервере" задачи на качалку торрентов (т.к. мобильный провайдер разрешает только ночью качать торренты). Интернет получает с данного роутера, через мобильный модем. Суть в том, что иногда ночью Интернет "завсиает". Для устранения этого достаточно перезапустить соединение вручную или ребутнуть роутер. Но ночью как бы спать хочется, и следить, повис или нет Инет нереально... Накатал bat'ник для проверки, есть ли Инет.
Но вот как по команде перезагрузить удаленно роутер? Вот это и есть проблема.
Telnet и SSH роутер не держит. И видимо это не включается нигде в Веб-интерфейсе.
Как автоматом зайти с URL на роутер, я нашел. (http://user:password@192.168.137.1)

Но дальше надо раскопать команду нажатия кнопки Reboot и передать ее так-же в URL.
Фрейм страницы перезагрузки в HTML слегка не догоняю. Может есть, кто может на основе ниже изложенного кода подсказать, какую строку надо передать роутеру?

--- Код: ---<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>TL-MR3220</title>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="wed, 26 Feb 1997 08:21:57 GMT">
<link href="/dynaform/css_main.css" rel="stylesheet" type="text/css">
<script language="javascript" src="/dynaform/common.js" type="text/javascript"></script><style type="text/css"></style>
<script language="javascript" type="text/javascript"><!--
if(window.parent == window){window.location.href="http://192.168.137.1";}
function Click(){ return false;}
document.oncontextmenu=Click;
//--></script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript"><!--//
function doSubmit()
{
if(confirm(js_to_reboot="Are you sure to reboot the Router?"))
{
location.href = "/userRpm/SysRebootRpm.htm";
return true;
}
else
{
return false;
}
}
//--></script>
</head>
<body onload="setTagStr(document,'ntw_sys_reboot');LoadHelp('SysRebootHelpRpm.htm'); resize(this);" onresize="resize(this);" marginwidth="0" marginheight="0">
<center>
  <form action="SysRebootRpm.htm" enctype="multipart/form-data" method="get" onsubmit="return doSubmit();">
    <table id="autoWidth" style="width: 100%;">
      <tbody>
        <tr>
          <td class="h1" id="t_title">Reboot</td>
        </tr>
        <tr>
          <td class="blue"></td>
        </tr>
        <tr>
          <td class="info" id="t_notice">Click this button to reboot the device.</td>
        </tr>
        <tr>
          <td class="mbtn"><input name="Reboot" type="submit" class="buttonBig" value="Reboot" id="reboot"></td>
        </tr>
        <tr>
          <td class="blue"></td>
        </tr>
      </tbody>
    </table>
  </form>
</center>


<meta http-equiv="pragma" content="no-cache">


</body></html>
--- Конец кода ---
Из кода я разобрал лишь, что мне нужно что-то из:
action="SysRebootRpm.htm" enctype="multipart/form-data" method="get" onsubmit="true"
name="Reboot" type="submit" value="Reboot"
Но как эти чудеса использовать, пока не догоняю. Может кто помочь?

Добавлено позже:
До этого парился 2 дня... А после написания нашел этот код... Все гениальное просто...

--- Код: ---http://user:password@192.168.137.1/userRpm/SysRebootRpm.htm?Reboot=reboot:15
--- Конец кода ---
К чему только циферка "15" не совсем ясно... Может id страницы, куда перенаправляет...
Добавлено позже:
Закрывайте тему. Все нормально отрабатывает.
HardWareMan:
Ты зашел с заднего двора. А нужно через парадный. Я для себя давным-давно решил эту проблему. Вот как я сделал  текущем варианте, используя свой шлюз:

А до этого, когда я сидел без шлюза, ыла написана специальная служба, которая регистрировалась в системе и вела свой журнал:

Для ее установки запускаем так:

--- Цитата ---rokservice.exe /install /silent
--- Конец цитаты ---
Для ее удаления так:

--- Цитата ---rokservice.exe /uninstall /silent
--- Конец цитаты ---
А в *.ini файл пишем следующую конфу:

--- Цитата ---[MAIN]
TimerInterval=10
Threshold=50
[MODEM]
ModemName=192.168.1.1
ModemUser=admin
ModemPass=admin
ModemPrompt=#
[HOSTS]
Host0=212.19.149.53
Host1=212.19.149.54
Host2=www.ya.ru
Host3=www.mail.ru
Host4=www.google.ru
Host5=
Host6=
Host7=
Host8=
Host9=

--- Конец цитаты ---
А началось все тут.
FEV:
К сожалению в стандартной прошивке нет подключения по telnet'у :( Я изначально думал именно таким образом перезапускать роутер, только позже нашел в Инете, что увы, и не включатся он (telnet на роутере).
Вот и остался вход с заднего двора :-\
HardWareMan:
Ну, когда-то давно, я собирал статистику с личного кабинета провайдера. Используя сокеты и GET/POST я нормально авторизировался, получал номер сессии и с его помощью проходил сквозь навигацию в меню и снимал страницу с таблицей. Так что не все потеряно.
Навигация
Главная страница сообщений

Перейти к полной версии