# Anruflisten abholen FritzBox



## sirair (14. Dez 2009)

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 (15. Dez 2009)

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:


```
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


----------



## sirair (15. Dez 2009)

danke. Wie kann man sich per Code einloggen ander FritzBox?


----------



## JasDA (15. Dez 2009)

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


```
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 (16. Dez 2009)

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 (7. Jan 2010)

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*


----------



## navino (1. Jul 2010)

Hallo,

hast du schon eine Lösung gefunden?
Möchte auch sowas mit Java machen...

Gruß
Navino


----------



## floechen (1. Jul 2010)

Interessiert mich auch!


----------



## tuxedo (2. Jul 2010)

Super. 3 Leute die ein und dasselbe machen wollen. 

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


----------



## floechen (2. Jul 2010)

Ich mache mir nochmals Gedanken die Tage.


----------



## navino (3. Jul 2010)

floechen hat gesagt.:


> 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


----------

