Aide pour URL activer bouton de reboot - HTML/CSS - Programmation
Marsh Posté le 13-11-2016 à 11:57:41
tu dois avoir une balise forme quelque part, est ce que tu peux coller le code du <form jusqu'au </form>?
Marsh Posté le 13-11-2016 à 12:07:10
voici (c'est un peu long j'en conviens) :
<form name="formname" method="POST" action="diag.cgi" onSubmit="return(checkSubmit());">
<table border="0" cellpadding="0" cellspacing="3" width="100%">
<tr>
<td colspan="3"><h1>Diagnostics</h1></td>
</tr>
<tr>
<td colspan="3" background="liteblue.gif" height="12"> </td>
</tr>
<tr>
<td colspan="3" nowrap><a href="h_diag.htm#ping" target="helpframe" tabindex="-1"><b>Ping or Trace an IP address</b></a></td>
</tr>
<tr>
<td nowrap width="50%">IP Address</td>
<td align="left" nowrap class="num"><input type="text" name="IPAddr1" class="num" size="4" maxlength="3" value="" onFocus="cfield_var='ping';setIPfield(this.form,this);" onBlur="ipfield=false">.<input type="text" name="IPAddr2" class="num" size="4" maxlength="3" value="" onFocus="cfield_var='ping';setIPfield(this.form,this);" onBlur="ipfield=false">.<input type="text" name="IPAddr3" class="num" size="4" maxlength="3" value="" onFocus="cfield_var='ping';setIPfield(this.form,this);" onBlur="ipfield=false">.<input type="text" name="IPAddr4" class="num" size="4" maxlength="3" value="" onFocus="cfield_var='ping';setIPfield(this.form,this);lastf=true;" onBlur="ipfield=false"></td>
<td nowrap align="right"> <input type="submit" name="ping" value="Ping" onclick="cfield_var='ping'">
<input type="submit" name="trace" value="Trace " onclick="cfield_var='trace'"></td>
</tr>
<tr>
<td colspan="3" background="liteblue.gif" height="12"> </td>
</tr>
<tr>
<td colspan="3"><a href="h_diag.htm#dnslookup" target="helpframe" tabindex="-1"><b>Perform a DNS Lookup</b></a></td>
</tr>
<tr>
<td nowrap>Internet Name</td>
<td align="left"><input type="text" name="lookup_name" value="" size="24" maxlength="127" onFocus="cfield_var='dns'"></td>
<td nowrap align="right"> <input type="submit" name="lookup" value="Lookup" onclick="submit_ok=true;cfield_var='dns'"></td>
</tr>
<tr>
<td>IP address</td>
<td nowrap align="right"></td>
<td> </td>
</tr>
<tr>
<td colspan="3" align="center">DNS Server: 8.8.8.8 8.8.8.4 </td>
</tr>
<tr>
<td colspan="3" background="liteblue.gif" height="12"> </td>
</tr>
<tr>
<td colspan="3"><a href="h_diag.htm#rtable" target="helpframe" tabindex="-1"><b>Display the Routing Table</b></a></td>
</tr>
<tr>
<td colspan="3" align="right"><input type="submit" name="display" value="Display" onclick="cfield_var=''"></td>
</tr>
<tr>
<td colspan="3" background="liteblue.gif" height="12"> </td>
</tr>
<tr>
<td colspan="3"><a href="h_diag.htm#reboot" target="helpframe" tabindex="-1"><b>Reboot the Router</b></a></td>
</tr>
<tr>
<td colspan="3" align="right"><input type="submit" name="Reboot" value="Reboot" onclick="cfield_var=''; return confirm(msg_restart_warn)"></td>
</tr>
</table>
</form>
Marsh Posté le 13-11-2016 à 16:15:10
tu sais ou cfield_var est défini ?
vu comme ça, je pense que ça le ferait si tu faisait une requête de type POST vers diag.cgi avec la variable Reboot qui a la valeur Reboot
Marsh Posté le 13-11-2016 à 16:21:35
disons que ne sachant pas ce qu'est cfield_var, je ne saurai répondre à ta question.
Je ne connais vraiment presque rien à ça
Marsh Posté le 13-11-2016 à 17:32:59
À la vue du code présent :
Code :
|
Il y a de bonne chance que cfield_var veuille dire check field variable et que ce n'est qu'une variable de vérification du côté js, pas besoin de s'en soucier à mon humble avis.
Comme dit par flo850, je pense qu'une requête post vers la page diag.cgi suffise. J'avais fait un module firefox pour reboot ma livebox il y a bien des années de cela et je faisais comme ça aussi, ça marchait, enfin ne pas oublier l'identification pour créer une session.
Marsh Posté le 13-11-2016 à 17:50:47
Merci,
mais concrètement quelqu'un peut me faire le script pour ce routeur?
Je n'ai pas les notions nécessaires.
Marsh Posté le 14-11-2016 à 17:13:37
Et si tu nous disais déjà quel routeur ? Il n'y a pas franchement d'API standard pour ça et si tu veux mon avis ça s'annonce compliqué, voire limite impossible selon le machin visé...
Marsh Posté le 14-11-2016 à 18:35:55
Il s'agit d'un Netgear FVS114.
Je pensais qu'en donnant le code source de la page et en prenant en compte qu'on peut se connecter avec http://login:mdp@IP/ ce serait faisable.
Marsh Posté le 14-11-2016 à 18:48:16
Sans doute que oui une fois "loggué". Il faut regarder exactement ce que fait le POST lors du clic sur Reboot et le reproduire.
La partie dans ton premier post ne sert à rien, c'est juste l'affichage d'une confirmation, le reste n'a pas l'air complet.
Tu peux regarder le POST qui part en utilisant l'onglet Network de Chrome ou Firefox.
Marsh Posté le 14-11-2016 à 19:09:49
Voici les maigres lignes que chrome me donne, le diag.htm passe en diag.cgi quand je valide le redémarrage.
Pas d'autres infos qui remontent...
GET http://192.168.0.254/menublue.gif 404 (Not Found)
Navigated to http://192.168.0.254/diag.htm
Navigated to http://192.168.0.254/diag.cgi
Marsh Posté le 15-11-2016 à 09:31:51
Oui mais non, il doit y avoir plus. Vois comment utiliser le moniteur réseau de Chrome, ou Firebug... A moins que quelqu'un ait une autre proposition.
Marsh Posté le 15-11-2016 à 22:58:45
Un petit coup de Wireshark peut-être ?
Marsh Posté le 13-11-2016 à 11:32:07
Bonjour,
je souhaite redémarrer un routeur par une URL, le redémarrage de fait par un bouton "reboot" sur la page web.
L'adresse avec login automatique est : login:mdp@IP/diag.htm
Sur cette page diag.htm, il y a ce bouton de reboot.
Le code source de la page (partie qui traite du bouton) est :
<tr>
<td colspan="3"><a href="h_diag.htm#reboot" target="helpframe" tabindex="-1"><b>Reboot the Router</b></a></td>
</tr>
<tr>
<td colspan="3" align="right"><input type="submit" name="Reboot" value="Reboot" onclick="cfield_var=''; return confirm(msg_restart_warn)"></td>
</tr>
Quelqu'un pourrait me dire quoi taper en URL ou dans un script (et lequel) pour redémarrer automatiquement?
Le but étant de passer ce script en tâche planifiée sur un serveur Windows.
Merci pour votre aide (je ne connais pas grand chose en programmation mis à part quelques notions en VBA).