Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Fritzbox: Anruferliste aktualisieren. (https://www.delphipraxis.net/158635-fritzbox-anruferliste-aktualisieren.html)

Garfield 24. Feb 2011 15:38

Fritzbox: Anruferliste aktualisieren.
 
Von der Fritzbox kann man die Anruferliste von "../html/de/FRITZ!Box_Anrufliste.csv" bzw "../html/de/home/foncallsdaten.xml" herunterladen. Allerdings scheinen diese Dateien immer erst aktualisiert zu werden, wenn man das WebInterfaxces der Fritzbox im Browser aufruft.

Gibt es eine Möglichkeit, die Aktualisierung zu erzwingen?

Sir Rufo 24. Feb 2011 15:42

AW: Fritzbox: Anruferliste aktualisieren.
 
"Öffne" doch einfach das WebInterface ... dann sollte das doch auch aktualisieren ;)

Evtl. steht in dem HTML-Quelltext vom Web-Interface ja auch eine Funktion drin, die die Aktualisierung anstösst. Dann nur diese Funktion aufrufen.

Garfield 24. Feb 2011 15:53

AW: Fritzbox: Anruferliste aktualisieren.
 
Zitat:

Zitat von Sir Rufo (Beitrag 1084165)
"Öffne" doch einfach das WebInterface ... dann sollte das doch auch aktualisieren ;)

Mit TWebBrowser sollte das gehen. Aber ich weiß nicht, wie ich da in die Anmeldeseite das Passwort eintragen und abschicken soll.

Zitat:

Zitat von Sir Rufo (Beitrag 1084165)
Evtl. steht in dem HTML-Quelltext vom Web-Interface ja auch eine Funktion drin, die die Aktualisierung anstösst. Dann nur diese Funktion aufrufen.

Mit Winsockets sende ich an die Fritzbox:
Code:
POST /cgi-bin/webcm HTTP/1.1
Host: fritz.box:80
Accept: text/xml
Accept-Encoding: *
Accept-Charset: ISO-8859-1
Keep-Alive: 115
Connection: Keep-Alive
Content-Type: application/x-www-form-urlencoded
Content-Language: de
Content-Length: 66

getpage=../html/de/home/foncallsdaten.xml&sid=8a05dc50736f72ed
und bekomme die XML-Datei. Mit GET bekomme ich nur eine HTML-seite mit einer Fehlermeldung.

In Live HTTP Header sieht der Aufruf der Aktualisierung in Firefox so aus:
Code:
http://fritz.box/cgi-bin/webcm?getpage=../html/de/home/foncallsdaten.xml&sid=5a887fb327b9f147

GET /cgi-bin/webcm?getpage=../html/de/home/foncallsdaten.xml&sid=5a887fb327b9f147 HTTP/1.1
Host: fritz.box
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://fritz.box/cgi-bin/webcm?sid=5a887fb327b9f147&getpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&errorpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&var%3Apagename=foncalls&var%3Aerrorpagename=foncalls&var%3Amenu=fon&var%3Apagemaster=&time%3Asettings%2Ftime=1298562413%2C-60&var%3AshowDialing=&var%3Atype=0&var%3AvonFoncalls=&var%3AcurrFonbookID=&var%3APhonebookEntryNew=&var%3APhonebookEntryXCount=&var%3APhonebookEntryNumber=&telcfg%3Asettings%2FUseJournal=1&var%3AWaehlhilfeVon=
Cookie: currmenu=fon

HTTP/1.0 200 OK
Cache-Control: no-cache
Content-Type: text/xml
Expires: -1
Pragma: no-cache

Garfield 25. Feb 2011 18:36

AW: Fritzbox: Anruferliste aktualisieren.
 
Vom Entwicklungssupport von AVM habe ich den Hinweis bekommen, dass ich die TR-064 verwenden kann.

Mit
Code:
POST /upnp/control/x_contact HTTP/1.1
Host: fritz.box:49000
Accept: */*
Accept-Encoding: *
Accept-Charset: ISO-8859-1
Connection: Close
Content-Type: text/xml
Content-Language: de
Content-Length: 256
SoapAction: urn:dslforum-org:service:X_AVM-DE_OnTel:1#GetCallList

<?xml version="1.0"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<u:GetCallList xmlns:u="urn:dslforum-org:service:X_AVM-DE_OnTel:1" />
</s:Body>
</s:Envelope>
hatte ich es schonmal versucht. Nur das reicht nicht. Es muss eine HTTPS-Verbindung sein. Der Benutzername steht im Standard und das Passwort ist das der Fritzbox.

Garfield 31. Okt 2011 15:48

AW: Fritzbox: Anruferliste aktualisieren.
 
Dieser Tage habe ich diese vorläufige Lösung gefunden:
Code:
POST /cgi-bin/webcm HTTP/1.1
Host: fritz.box:80
Accept: text/xml
Keep-Alive: 115
Connection: Keep-Alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 103

getpage=../html/de/menus/menu2.html&amp;sid=29679290e21942c5&amp;var:menu=fon&amp;var:pagename=foncalls


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz