[js]Actif sur le serveur ? 8-)

Résolu/Fermé
Obeet Messages postés 1766 Date d'inscription mercredi 13 octobre 2004 Statut Modérateur Dernière intervention 17 novembre 2010 - 13 juil. 2005 à 22:33
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 15 juil. 2005 à 00:17
Salut tout le monde...

Bon voilà, j'ai un petit problème. J'ai un routeur/modem/WLAN (sinus 154 DSL), je voudrais trouver un moyen de le connecter automatiquement (il le fait tout seul mais si il n'y arrive pas à 3 essais, il arrête, j'aimerai réessayer une heure après par exemple...) dans un script.
Hors pour le faire manuellement, il faut naviguer sur les pages "servies" par le routeur (identification préalable évidemment). J'ai regardé le code de la page où le bouton "connecter" se trouve, et je trouve pas mal de js, notamment...
	            if(wan_type==WAN_TYPE_PPPOE)
		            document.write('<input type=submit value=" Verbinden " name=connect onClick="return dhcp_renew();">');


(C'est le bouton de connection)


et la fonction qu'il semble appeler:

function dhcp_renew() 
{
	if (if_number==wan_type) //if_number==2 WAN (static, dhcp), wan_type==2 PPPOE(ifno should be 3)
		{ alert('Bitte geben Sie ihren Benutzernamen ein!'); return false; }
	
//	stBut(2);
	if(wan_type==WAN_TYPE_DHCP)
	{
		document.tF0.release.disabled = 1;
		document.tF0.renew.disabled = 1;
	}
	if(wan_type==WAN_TYPE_PPPOE)
	{
		document.tF0.disconnect.disabled = 1;
		document.tF0.connect.disabled = 1;
	}

	return true;
}


Or je ne vois pas de code "actif" que je pourrais réutiliser et qui plus est je ne vois pas comment du js peut agir sur mon routeur alors que je suis sur le client...

Merci de vos lumières...

6 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 juil. 2005 à 01:33
A tout hasard, peut être qu'il utilise ces fameuses requêtes xml HTTP :
http://jibbering.com/2002/4/httprequest.html

Mais j'en ai pas l'impression.
Ce script à l'air de faire simplement une vérification sur ton formulaire. Je crois que c'est plutôt en fonction des valeurs reçues à l'envoi de ton formulaire que le routeur va se connecter.

Peut être que pour te connecter tu as juste à envoyer une requête post avec submit=verbinden
Et les autres options sont probablement à préciser.
Si tF0 est le nom d'un formulaire, tu dois avoir des champs nommés release, renew, connect, disconnect qui seront à préciser dans ta requête (juste disconnect et connect en fait pour le formulaire de connexion on dirait.

EDIT: Ayé j'ai compris le disabled, c'est pour griser un champs de formulaire et le rendre inutilisable:
http://www.codetoad.com/javascript/enable_disable_form_element.asp

Donc il faut voir le formulaire en entier. Et renseigner les champs necessaires via une requête. Si le formulaire est disséminé dans plusieurs petits bouts de js, il faudrait retrouver tous les champs, les retranscrire dans une requête et y mettre la valeur que tu utilises d'habitude.

PS: Tu devrais utiliser ethereal, ça irait assez vite :-)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 juil. 2005 à 01:47
Et comme disconnect et connect sont grisés, tu ne devrais pas avoir besoin de les renseigner dans tarequête pour la connexion....
Le reste je ne pourrais pas te dire il faudrait voir les bouts de code qui font le squelette du formulaire...
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
14 juil. 2005 à 08:52
OK je te remercie, je regarderais plus en détails ce soir ou demain...
Le problème c'est qu'il vérifie tout le temps que je suis bien identifié :-S
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 juil. 2005 à 15:46
C'est une authentification de quel type? Elle se fait par un formulaire traditionnel ou c'est une authentification http?

L'un ou l'autre tu pourras l'automatiser facilement aussi.
0
Obeet Messages postés 1766 Date d'inscription mercredi 13 octobre 2004 Statut Modérateur Dernière intervention 17 novembre 2010 30
14 juil. 2005 à 18:38
:-S

Je suis vraiment une brêle :-S

Je n'arrive pas à comprendre, je vous met tout le fichier:

<HTML>

<HEAD>

<TITLE>StatusInformation</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
<META http-equiv="Pragma" content="no-cache">

<SCRIPT language="JavaScript" src="/js_menu.js" type="text/JavaScript"></SCRIPT>

<SCRIPT language="JavaScript">
var iTimeOut=60000;
var NextPage='/login.htm';

function zero_run() {
	
	top.frames[0].nocheck = "1";
	top.location.href=NextPage;
	return;
}
if (iTimeOut != 0) setTimeout("zero_run()", iTimeOut);

// wan interface type:
var WAN_TYPE_DHCP = 0;
var WAN_TYPE_FIX = 1;
var WAN_TYPE_PPPOE = 2;
var WAN_TYPE_DIALUP = 4;
var WAN_TYPE_BRIDGE = 3;
var if_number=11;
var bWanConnected=1;
var bWanUseModem=0;
var wan_type=2;
var wan_ip="85.212.28.191";
var wan_subnet_mask="255.0.0.0";
var wan_gateway="62.26.136.41";
var primary_dns="62.27.27.62";
var secondary_dns="62.27.53.66";
var lan_gateway_ip="192.168.1.1";
var lan_gateway_mask="255.255.255.0";
var dhcp_enable=0;
var firewall_func=1;
var firewall_enable=1;
var firewall_dos=1;
var firewall_ping=1;
var firewall_rip=1;
var ddns_enable=1;
var upnp_enable=0;
var wireless_func=1;
var wireless_enable=1;
var ipsec_func=0;
var pptp_func=0;
var printer_func=0;
var dhcp_client_num=0;
var runtime_code_version="1.10";
var runtime_code_date="Jul 20 2004 19:51:36";
var boot_code_version="0.65";
var adsl_code_version="01.01.07.252B";
var lan_mac_addr="00-30-F1-E5-74-09";
var wan_mac_addr="00-30-F1-E5-74-0A";
var hardware_version="01";
var serial_number="A432034202";
var wlan_mac_addr="00-30-F1-E5-74-0B";
var w_enable="1";
var w_ssid="KG32";
var w_ssid1="KG32";
var w_mac_filter="1";
var w_wep="2";
var w_wpa="0";
var w_8021x="0";
var w_8021_type="0";
var rmt_mgnt="0";
var reset_time="01.01.2004/07:01";
var addmap_num="0";
var vs_num="2";
var spApp_num="1";
var AccMac_num="0";
var AUrlBk_num="0";
var lan_mod="1";
var adsl_mode1="UR-2";
var adsl_mode2=" ";
var int_up="160";
var int_down="1184";
var fast_up="160";
var fast_down="1184";
var accMacEnable="1";
var accMacOnOff="2";
var MacCount="2";
var DDNS_fail="0";
var NTP_Mode="0";
var NAT_Enable="1";




function dhcp_release() {
	if (if_number==wan_type) //if_number==2 WAN (static, dhcp), wan_type==2 PPPOE(ifno should be 3)
		{ alert('Bitte geben Sie ihren Benutzernamen ein!'); return false; }
	
//	stBut(1);
	if(wan_type==WAN_TYPE_DHCP)
	{
		document.tF0.release.disabled = 1;
		document.tF0.renew.disabled = 1;
	}
	if(wan_type==WAN_TYPE_PPPOE)
	{
		document.tF0.disconnect.disabled = 1;
		document.tF0.connect.disabled = 1;
	}

	return true;
}

function dhcp_renew() {
	if (if_number==wan_type) //if_number==2 WAN (static, dhcp), wan_type==2 PPPOE(ifno should be 3)
		{ alert('Bitte geben Sie ihren Benutzernamen ein!'); return false; }
	
//	stBut(2);
	if(wan_type==WAN_TYPE_DHCP)
	{
		document.tF0.release.disabled = 1;
		document.tF0.renew.disabled = 1;
	}
	if(wan_type==WAN_TYPE_PPPOE)
	{
		document.tF0.disconnect.disabled = 1;
		document.tF0.connect.disabled = 1;
	}

	return true;
}

<!--

function stBut(but){
  //document.getElementById("c_verzoeg1").style.visibility='visible';
  //document.getElementById("c_verzoeg2").style.visibility='visible';
  if (but==1){
    setTimeout("umstell(1)",top.frames[0].verzoeg);
  }
  else{
    setTimeout("umstell(2)",top.frames[0].verzoeg);
  }
}
  
function umstell(um){
  //document.getElementById("c_verzoeg1").style.visibility='hidden';
  //document.getElementById("c_verzoeg2").style.visibility='hidden';
  if (um==1){
    document.getElementById("c_um1").style.visibility='visible';
    document.getElementById("c_um2").style.visibility='hidden';
  }
  else{
    document.getElementById("c_um1").style.visibility='hidden';
    document.getElementById("c_um2").style.visibility='visible';
  }
}
function chk()
{
 if(bWanConnected)
 {
    umstell(2);
 }
 else
 {
    umstell(1);
 }
}
//-->
</SCRIPT>

<LINK rel="stylesheet" href="/style.css" type="text/css">

<STYLE type="text/css">
<!--

#c_um1 {
  POSITION: absolute; left: 15px; top: 61px; width: 402px; background-color: #DDDDDD;
  border-color: #FF0066; border-width: 1px; border-style: solid; border-top-style: none;
}

#c_um2 {
  POSITION: absolute; left: 15px; top: 61px; width: 402px; background-color: #DDDDDD; VISIBILITY: hidden;
  border-color: #FF0066; border-width: 1px; border-style: solid; border-top-style: none;
}

#c_fest {
  height: 35px; line-height: 15px; padding-left: 10px; font-family: Arial, sans-serif; font-size: 12px;
}

//-->
</STYLE>

</HEAD>

<BODY>
<form action="/cgi-bin/statusprocess.exe" method="post" name="tF0">


<DIV id=c_Frame>

<DIV id=c_border>
<DIV id=c_pfad>Status / Internetverbindung</DIV>
<DIV id=c_titel>Internetverbindung</DIV>

</DIV>

<DIV id=c_um1>
<DIV id=c_stat>
      <table border="0" cellpadding="4" cellspacing="0">
        <tr>
          <td width="200">Internet</td>
          <td>
            <script language="javascript">
			if(bWanConnected==1)
				document.write("ADSL Verbindung");
			else
				document.write("ADSL Getrennt");
		    </script>	  
          </td>

          
        </tr>
      </table>
</DIV>
<DIV id=c_fest>
      <table border="0" cellpadding="4" cellspacing="0">
        <tr>
          <td height="10"></td>
        </tr>
        <tr>
          <td>

            
             <script language="javascript">
	            if(wan_type==WAN_TYPE_DHCP)
		            document.write('<input type=submit value="Trennen" name=release onClick="return dhcp_release();">');
	            if(wan_type==WAN_TYPE_PPPOE)
		            document.write('<input type=submit value="Trennen" name=disconnect onClick="return dhcp_release();">');
            </script>
          </td>
          <td width="30"></td>
          <td>
            <script language="javascript">
	            if(wan_type==WAN_TYPE_DHCP)
		            document.write('<input type=submit value=" Verbinden " name=renew onClick="return dhcp_renew();">');
	            if(wan_type==WAN_TYPE_PPPOE)
		            document.write('<input type=submit value=" Verbinden " name=connect onClick="return dhcp_renew();">');
            </script>
          </td>
        </tr>
      </table>

</DIV>

<DIV id=c_leer></DIV>
<DIV id=c_foot></DIV>
</DIV>

<DIV id=c_um2>
	
<DIV id=c_stat>
      <table border="0" cellpadding="4" cellspacing="0">
        <tr>
          <td width="200">Internet</td>
          <td>

            <script language="javascript">
			if(bWanConnected==1)
				document.write("ADSL Verbindung");
			else
				document.write("ADSL Getrennt");
		    </script>	
          </td>
        </tr>
      </table>
</DIV>
<script language="javascript">
if(bWanConnected){
document.write('<DIV id=c_stat>');
      document.write('<table border="0" cellpadding="4" cellspacing="0">');
        document.write('<tr>');
          document.write('<td width="200">Zugeteilte IP Adresse</td>');
          document.write('<td>',wan_ip,'</td>');
        document.write('</tr>');
      document.write('</table>');
document.write('</DIV>');
document.write('<DIV id=c_stat>');
      document.write('<table border="0" cellpadding="4" cellspacing="0">');
        document.write('<tr>');
          document.write('<td width="200">Subnetzmaske</td>');
          document.write('<td>',wan_subnet_mask,'</td>');
        document.write('</tr>');
      document.write('</table>');
document.write('</DIV>');
document.write('<DIV id=c_stat>');
      document.write('<table border="0" cellpadding="4" cellspacing="0">');
        document.write('<tr>');
          document.write('<td width="200">Gateway Adresse</td>');
          document.write('<td>',wan_gateway,'</td>');
        document.write('</tr>');
      document.write('</table>');
document.write('</DIV>');
document.write('<DIV id=c_stat>');
      document.write('<table border="0" cellpadding="4" cellspacing="0">');
        document.write('<tr>');
          document.write('<td width="200">Primärer DNS Server</td>');
          document.write('<td>',primary_dns,'</td>');
        document.write('</tr>');
      document.write('</table>');
document.write('</DIV>');
document.write('<DIV id=c_stat>');
      document.write('<table border="0" cellpadding="4" cellspacing="0">');
        document.write('<tr>');
          document.write('<td width="200">Sekundärer DNS Server</td>');
          document.write('<td>',secondary_dns,'</td>');
        document.write('</tr>');
      document.write('</table>');
document.write('</DIV>');
document.write('<DIV id=c_stat>');
      document.write('<table border="0" cellpadding="4" cellspacing="0">');
        document.write('<tr>');
          document.write('<td width="200">MAC Adresse WAN:</td>');
          document.write('<td>');          
		    document.write(wan_mac_addr);	    
          document.write('</td>');
        document.write('</tr>');
      document.write('</table>');
document.write('</DIV>');
}
</script>

<DIV id=c_last></DIV>
<DIV id=c_last>
      <table border="0" cellpadding="4" cellspacing="0">
        <tr>

          <td>
            <script language="javascript">
	            if(wan_type==WAN_TYPE_DHCP)
		            document.write('<input type=submit value="Trennen" name=release onClick="return dhcp_release();">');
	            if(wan_type==WAN_TYPE_PPPOE)
		            document.write('<input type=submit value="Trennen" name=disconnect onClick="return dhcp_release();">');
            </script>
          </td>
          <td width="30"></td>
          <td>
            
            <script language="javascript">
	            if(wan_type==WAN_TYPE_DHCP)
		            document.write('<input type=submit value=" Verbinden " name=renew onClick="return dhcp_renew();">');
	            if(wan_type==WAN_TYPE_PPPOE)
		            document.write('<input type=submit value=" Verbinden " name=connect onClick="return dhcp_renew();">');
            </script>
          </td>
        </tr>

      </table>
</DIV>

<DIV id=c_leer></DIV>
<DIV id=c_foot></DIV>
</DIV>

<DIV id=c_verzoeg1></DIV>
<DIV id=c_verzoeg2></DIV>

</DIV>
<script language="javascript">
chk();
</script>

<DIV id=t_Frame>

<DIV id=t_but1 onclick=startseite() onmouseover=rahmen(1,1) onmouseout=rahmen(0,1)><<  <<</DIV>
<DIV id=t_but3 onclick=status() onmouseover=rahmen(1,3) onmouseout=rahmen(0,3)>Zurück <<</DIV>

</DIV>

<DIV id=i_Frame>

  <DIV id=i_content>
    <h2>Internetverbindung</h2>
    <p>Auf dieser Seite wird Ihnen der Status der Internetverbindung angezeigt.</p>

    <p>Mit den Schaltflächen: 'Trennen' und 'Verbinden' haben sie die Möglichkeit manuell 
     eine Verbindung ins Internet herzustellen bzw. zu trennen.</p>
  </DIV>
  
</DIV>
</form>
</BODY>

</HTML>


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 juil. 2005 à 20:33
Donc si j'ai bien compris, si tu es en DHCP, tu as deux champs submit qui ont pour nom "release" et "renew".
Si tu es en PPP0E tu as deux champs submit qui ont pour nom "connect" et "disconnect".
Apparemment chez toi tu es en PPP0E.

Pour libérer ton adresse IP en DHCP (submit release) ou pour te deconnecter en PPP0E (submit disconnect), sur les boutons il est ecris trennen.
Pour renouveller ton adresse IP en DHCP (submit renew) ou pour te connecter en PPP0E (submit connect), sur les boutons il est ecris verbinden.
Tu vois, ce qui diffère lorsque tu es en dhcp ou en pppoe, c'est le nom du bouton. Sa valeur, elle, ne change pas (trennen/verbinden).

Comme tu es en pppoe
Tu as un champs connect qui doit prendre la valeur " Verbinden ", mais il ya un espace devant et derrière donc il faut prendre ça en compte. Mais c'est le seule champs qui dois être transmis par requête pour te connecter.

A priori c'est tout ce que tu as à faire. Dans un script, envoyer une requête post avec juste
connect= Verbinden (voir avec les espaces, peut être qu'il faut mettre des "+"). Et il faut l'envoyer vers:
http://ip_routeur/cgi-bin/statusprocess.exe

Par contre il faut sûrement gérer l'authentification sur ton routeur.
Si c'est une authentification http, ben il faudra sûrement l'envoyer comme ceci:
http://user:pass@ip_routeur/cgi-bin/statusprocess.exe

Si c'est une authentification par formulaire traditionnel, alors il faut encore passer par les requêtes post.
Mais bon à priori, une authentification sur un routeur, ça passe sûrement par la première solution.
0
Obeet Messages postés 1766 Date d'inscription mercredi 13 octobre 2004 Statut Modérateur Dernière intervention 17 novembre 2010 30
14 juil. 2005 à 22:09
<sifflement admiratif/>

Ca c'est une réponse précise et détaillée, j'essaye ça bientôt et je te tiens au courant, merci beaucoup...
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 juil. 2005 à 22:49
Ben attends, je sais pas si ça marchera comme ça....

Par contre le coup du user:pass@url ça ne marchera peut être pas dans un script.
Dans ce cas, selon le langage que tu utiliseras pour ton script il faudra voir...
Il faudra peut être même récupérer un cookie....
0
Obeet Messages postés 1766 Date d'inscription mercredi 13 octobre 2004 Statut Modérateur Dernière intervention 17 novembre 2010 30
15 juil. 2005 à 00:10
Ca marche :o)

Sauf que c'est un post aussi pour le mot de passe, mais à part ça ça roule, j'ai plus qu'à automatiser tout ça mais ça devrait pas être trop dur et à te remercier ;O)
Bonne nuit...
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
15 juil. 2005 à 00:17
Génial!!

Bonne nuit :-)
0