Anruferliste aus FritzBox auslesen

Als ich von der 05.27-23565 BETA Beta auf die nächste Beta wechselte, wurde das Script fehlerhaft markiert und es erschien diese Meldung:

„Fehler beim Einlesen der XML Daten. Mögliche Ursache: Nicht unterstützte Firmwareversion“

Da wird offenbar mächtig herumgeschraubt. Bin wieder auf die 05.27-23565 zurück, da ich keine Lösung wußte.

Gruß Schacker

Gleiches Problem bei mir mit der aktuellen Beta :frowning:

Die URL zur Anruferliste hat sich, soweit ich das sehen kann, nicht verändert.
Beim Login gab es scheinbar Anpassungen. Ich finde momentan den „Ort“ nicht wo die SID zwischengespeichert wird :confused:
Hat das schon jemand herausgefunden?

Cheers
/Jens

Schon jemand weitergekommen?

Ja, Alternativ Login über die Logincheck.lua/Login.lua das geht schon seid der Einführung der Firmware mit SessionID.

Gruß Erwin

Hallo Erwin,

ich habe das selbe Thema mit der aktuellen Beta und es hört sich gut an was Du schreibst…

… aber könntest Du Deine Scriptzeilen hier posten, da ich die Alternative so nicht umgesetzt bekomme :wink:
(Am besten komplett, so wird’s für alle einfacher…)

Ich gehe mal davon aus, dass Du das Script am laufen hast mit der aktuellen Beta :wink:

Merci und Grüße,

Oliver

Stimmt! Ist nicht neu und hatte ich bereits genutzt. Das Lesen der SID scheint jetzt auch wieder zu funktionieren:

$login = file_get_contents('http://'.$fritzbox_Adresse.'/login_sid.lua?'.
    'getpage=../html/login_sid.xml');

Der Login geht aber immer noch schief :confused:

Sorry kann dir keine Lösung zu PHP bieten, da ich es nicht benutze und auch keine Beta Firmware der FB,
kenne mich auch mit PHP nicht aus, in Java habe ich es anders gelöst,
hier:

$login = file_get_contents('http://'.$fritzbox_Adresse.'/login_sid.lua?'. 
    'sid=0000000000000000');

das könnte vielleicht gehen?!

Gruß Erwin

PS: Lest mal die PN

Ne, geht nicht. Ein

 print_R($login); 

wirft ein

0000000000000000852129130
Fehler: Login fehlgeschlagen

wobei sich die SID jedesmal ändert.

Sorry, dann kann ich dabei auch nichts ändern, denn bei mir in Java liefern beide Link hier:

$login = file_get_contents('http://'.$fritzbox_Adresse.'/login_sid.lua?'. 
    'sid=0000000000000000');
$login = file_get_contents('http://'.$fritzbox_Adresse.'/cgi-bin/webcm?'. 
    'getpage=../html/login_sid.xml'.'sid=0000000000000000');

das gleiche Ergebnis, ich bekomme mit beiden die SID und Challenge zurück.

sid=0000000000000000 benutzt man beim ersten aufruf bei jedem weiteren aufruf

übergibt man die sid=10a0b005f0000457 die man zuletzt erhalten hat,
ist diese noch gültig bekommt man sie wieder zurück, wenn nicht dann muss man
einen erneuten Response aufrufen um wieder eine gültige sid zu erhalten.

Das steht alles zum Teil hier schon 17.08.2011 Änderung hier

Gruß Erwin

@Rainer: Ich fuerchte da musst du ran :smiley:

Ich hab keine 7390 und meine 7270 läuft. :smiley:

grmpf :smiley:

Hast du die neueste Labor Firmware drauf?

Ist klar AVM scheint an einem neuen Login zu Basteln, und da
scheint es das iswriteaccess == 1 nicht mehr zu geben in der Rückgabe
der login_sid.lua, ersetze es durch Sid ungleich 16 mal die Null hier: SID != 0000000000000000
iswriteaccess == 0 durch SID == 0000000000000000
wenn das nicht gehen sollte dann weiß ich auch nicht mehr weiter,
die Challenge ist gleich geblieben in der login_sid.lua

Gruß Erwin

@Erwin

Das ist alles gut, wenn man gute Programmierkenntnisse hat (Die leider bei mir nicht vorhanden sind)
Mir hilft eigentlich nur, wenn mir jemand sagt, wie das Skript abzuändern ist.

Sorry, das war nur ein Vorschlag wie man es ändern könnte,
ich hatte nicht gesagt dass es das im Script auch geben muss,
man braucht ja nur das Ändern was im Script auch vor kommt.

Gruß Erwin

Nö, die neuste hab ich nicht drauf, wird wohl auch dieses Jahr nix mehr. Keine Zeit.

Wenn der Login nicht mehr geht, funktioniert der Rest auch nicht mehr oder ist es nur die Anrufliste. :confused:

AB schalten auch.

Trying to get property of non object … :login fehlgeschlagen

Hallo,

Poste mal das Ergebnis der beiden Links hier:

http://fritz.box/cgi-bin/webcm?getpage=../html/login_sid.xml
http://fritz.box/login_sid.lua

Rufe Bitte beide Links im Browser auf und Poste mal das was Angezeigt wird,
als Seiten QuellText oder Frame Seiten QuellText.

Gruß Erwin :wink:

Ok, hoffe Du kannst was damit anfangen. Ich kann dich auch mal auf mein System lassen, schreib mir ne PN.

http://fritz.box/login_sid.lua


This XML file does not appear to have any style information associated with it. The document tree is shown below.
<SessionInfo>
<SID>0000000000000000</SID>
<Challenge>567715ca</Challenge>
<BlockTime>0</BlockTime>
<Rights/>
</SessionInfo>


Danke, die Ausgabe kannte ich schon seid Gestern Abend,
darum mein Hinweiß oben zur Änderung.

Aber da ich mich in PHP nicht auskenne dürfte das hier:

$fritzbox_ip = 'fritz.box';
$fritzhost   = 'http://'.$fritzbox_ip;
$fritzgui    = 'http://fritz.box/cgi-bin/webcm'; 
$fritzseite  = '../html/de/menus/menu2.html'; 

$password    = '*******'; //PW eingeben 

$ch = curl_init($fritzhost . '/login_sid.lua'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$login = curl_exec($ch); 
curl_close($ch); 
$session_status_simplexml = simplexml_load_string($login); 


if ($session_status_simplexml->SID != '0000000000000000') 
{ 
   $SID = $session_status_simplexml->SID; 
} 
else 
{ 
   $challenge = $session_status_simplexml->Challenge; 
   $response = $challenge . '-' . md5(mb_convert_encoding($challenge . '-' . $password, "UCS-2LE", "UTF-8")); 
   $login = array('page' => '/login_sid.lua', 'response' => $response); 
   $sendlogin = http_post_fields($fritzhost . '/login_sid.lua', $login); 

   $session_status_simplexml = simplexml_load_string($sendlogin);

   if ($session_status_simplexml->SID != '0000000000000000') 
   { 
   $SID = $session_status_simplexml->SID; 
   }
   else 
   { 
      echo "Fehler: Login fehlgeschlagen"; 
      return; 
    } 
}

wohl noch Fehler enthalten, aber der Test könnte auch klappen um per Response an die SID zu kommen?!.

Die Info dass man die SID aus der XML holt hatte ich euch schon letztes Jahr hier mitgeteilt,
wo es schon Problem mit der Firmware xx.05.xx gab, aber ihr habt es ja ignoriert,
so sied ihr jetzt selbst schuld wenn der Response jetzt nicht mehr geht Sorry.

Gruß Erwin :wink: