Anruflisten abholen FritzBox

sirair

Aktives Mitglied
Hallo,

ich habe eine FritzBox, die alle Anrufe(ankommende, abgegangene ...) speichert. Das blöde ist, man muss sich immer anmelden um die Anrufliste einzusehen. Ich möchte ein Java Programm schreiben, welche sich automatisch anmeldet, die Seite mit der Anrufliste aufruft und dann alle Anrufe im einer JTable ausgibt. Wie kann ich das am besten machen und wie wie man die Seite mit den ganzen Anrufen parsen?
 

JasDA

Aktives Mitglied
Ich weiß nicht ob es irgendwie einfacher geht, aber ich würde das ganze mit HTMLUnit (HtmlUnit - Welcome to HtmlUnit) machen. Damit kannst du problemlos zu den einzelnen Seiten der Fritzbox navigieren und kommst auch so zur Anrufliste. Ich schätze mal die Anrufliste steht dann in einer einfachen HTML-Table? Hier wäre dann das Beispiel von der HTMLUnit Seite um an die Daten zu kommen:

Java:
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("http://foo.com");

final HtmlTable table = page.getHtmlElementById("table1");
System.out.println("Cell (1,2)=" + table.getCellAt(1,2));

Wie du siehst.....ist wirklich einfach :)
 

JasDA

Aktives Mitglied
Du musst dir die Login-Form "holen", die Werte eintragen und dann den Submit-Button aufrufen. In etwa so:

Java:
HtmlForm form = htmlPage.getFormByName("loginForm");
HtmlTextInput inputUsername = (HtmlTextInput) form.getInputByName("username");
inputUsername.setValueAttribute(username);
HtmlPasswordInput inputPassword = (HtmlPasswordInput) form.getInputByName("password");
inputPassword.setValueAttribute(password);
HtmlSubmitInput button = (HtmlSubmitInput) form.getInputByName("submitButton");
htmlPage = (HtmlPage) button.click();
 

FArt

Top Contributor
Das ganze kann natürlich eine nette Spielerei sein... ein kleiner Bot, der HTML Seiten ausliest und parst...

Ich möchte behaupten, das ist die Arbeit nicht Wert. Ich hatte mal gehört, dass es eine Schnittstelle auf die Fritzboxen gibt, auch mit ssh Zugang, vielleicht ist das etwas einfacher.
Auf jeden Fall ist AVM bekannt dafür, dass sie mit jedem noch so kleinen Update auch mal gerne wieder das Aussehen der Adminseiten ändern. Wenn du Pech hast, musst du das Parsen nach jedem Update der Fritzbox anpassen.
 

floechen

Mitglied
Ganz so einfach ist das leider nicht.

Grundsätzlich: Man kann sich die Anrufliste als CSV unter folgender URL abholen: http://fritz.box/cgi-bin/webcm?getpage=../html/de/FRITZ!Box_Anrufliste.csv

Dazu benötigt es aber wieder den Login, der leider etwas verkompliziert wurde: http://www.avm.de/de/Extern/Technical_Note_Session_ID.pdf

Ich hatte ebenfalls überlegt ein kleines Tool zum Auslesen (allerdings in C oder C#) zu coden, habe allerdings jetzt davon gelassen, da es doch etwas aufwändiger ist, bis man erstmal an die CSV kommt.

Ich würde mich aber sehr freuen, wenn du da was auf die Beine stellen würdest. *g*
 
T

tuxedo

Gast
Super. 3 Leute die ein und dasselbe machen wollen.

Statt im einzelnen 3 Anwendungen zu basteln, könntet ihr ja gemeinsam die Sache angehen?!
 

navino

Aktives Mitglied
Ich mache mir nochmals Gedanken die Tage.
Hi ,
das wäre super...
Ich habe mir mal die sourcen von JFritz über CVS ins Eclipse geladen, und bin gerade dabei das ganze zu verstehen...
Bekomme beim Starten immer eine WrongPasswortException.... Die gleiche Version als fertiges Programm heruntergeladen, - funktioniert.....

In den Sourcen gibt es auch was mit Telnet... aber so ganz blicke ich da noch nicht durch....

Würde mich gerne mit anderen zusammentun, um eine Lösung zu erarbeiten.....

Gruß
navino
 

Ähnliche Java Themen


Oben