Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi fritz.box Anruferliste (https://www.delphipraxis.net/88934-fritz-box-anruferliste.html)

JoachimQ 23. Mär 2007 09:40


fritz.box Anruferliste
 
Hallo!

Ich habe ein Problem.
Ich möchte in einer TWebBrowserkomponente die Anruferliste meiner Fritz.Box anzeigen lassen. Wie mache ich dies? Wenn ich fritz.box aufrufen kommt ja die Startseite der Fritz-Box. Wie lautet der Direktlink zur Anruferliste?

mkinzler 23. Mär 2007 09:46

Re: fritz.box Anruferliste
 
Schau dir doch mal den Quellcode der Startseite an.

JoachimQ 23. Mär 2007 09:57

Re: fritz.box Anruferliste
 
Zitat:

Zitat von mkinzler
Schau dir doch mal den Quellcode der Startseite an.

Das bringt mich auch nicht weiter.
Ich möchte die Anruferliste folgendermaßen aufrufen: WebBrowser1.Navigate(DirectLinkzurAnruferliste);
Wie aber heißt dieser DirectLink?

mkinzler 23. Mär 2007 10:00

Re: fritz.box Anruferliste
 
Der müßte doch im Quellcode der FritzBox-Startseite stehen

JoachimQ 23. Mär 2007 10:24

Re: fritz.box Anruferliste
 
Zitat:

Zitat von mkinzler
Der müßte doch im Quellcode der FritzBox-Startseite stehen

Im Quellcode finde ich den Link nicht!

mkinzler 23. Mär 2007 10:29

Re: fritz.box Anruferliste
 
Poste mal den Quellcode

JoachimQ 23. Mär 2007 10:31

Re: fritz.box Anruferliste
 
Zitat:

Zitat von mkinzler
Poste mal den Quellcode

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<head>
 <title>FRITZ!Box</title>
 <script type="text/javascript">
 var g_HelpWin = null;
 </script>
</head>
<frameset rows="*">
 <frame src="/cgi-bin/webcm?getpage=../html/index_inhalt.html" id="frame_content" scrolling="auto" frameborder="0" />
 <noframes>
 <body>
 



 Die FRITZ!Box Benutzeroberfl&auml;che basiert auf XHTML-Frames. Ihr
 Browser scheint diese Art der Darstellung nicht zu unterst&uuml;tzen.
 </p>
 



 Sie k&ouml;nnen die Oberfl&auml;che trotzdem nutzen, wenn Sie
 <a href="/cgi-bin/webcm?getpage=../html/index_inhalt.html">direkt zur
 Startseite</a> gehen.
 </p>
Beachten Sie bitte, dass Ihr Browser unbedingt
Javascript unterst&uuml;tzen muss. Bei den meisten Text-basierten
Browsern (lynx, links) ist das nicht der Fall. Bitte
konfigurieren Sie FRITZ!Box an einem Rechner mit DOM-1-kompatiblem
Browser und aktiviertem Javascript, zum Beispiel:
Code:
</p>
 <ul>[*]Internet Explorer 5.5, 6 oder h&ouml;her[*]Mozilla basierte Browser (Netscape 6 oder h&ouml;her, Mozilla,
 Firefox, Galeon, ...)[*]Opera[*]Konqueror (Linux KDE)[*]Safari (MacOS)[/list] </body>
 </noframes>
</frameset>
</html>
[edit=Jelly]Code Tags nachgepflegt Mfg, Jelly[/edit]

Kevin 23. Mär 2007 10:39

Re: fritz.box Anruferliste
 
Ist der Direktlink nicht ein Javaaufruf: "javascript:jslGoTo('home','foncalls')"?

TKC 23. Mär 2007 11:07

Re: fritz.box Anruferliste
 
Hi,
ich habe mir dafür ne Komponente geschrieben ... hier ein Auszug aus dem Code
Delphi-Quellcode:
procedure TMyGetTelListThread.Execute;
var
  Params                     : TStringList;
  HTTP                       : TIdHTTP;
  sTelList                   : string;

label
  DoAbortAll;

begin

  HTTP := TIdHTTP.Create(nil);
  HTTP.HandleRedirects := True;
  HTTP.Request.ContentLength := -1;
  HTTP.Request.Accept := 'text/html, */*';
  HTTP.HTTPOptions := [hoForceEncodeParams];

  Params := TStringList.Create;
  sTelList := '';

  //Wenn Passwort dann Login durchführen
  if FPasswort <> '' then
    begin
      if Assigned(FOnStatus) then
        FOnStatus('Führe Login durch ...');

      with Params do
        begin
          Clear;
          Add('getpage=../html/de/menus/menu2.html');
          Add('errorpage=../html/index.html');
          Add('var:lang=de');
          Add('var:pagename=home');
          Add('var:menu=home');
          Add('login:command/password=' + FPasswort);
        end;

      //Login To Box
      try
        FHtml := HTTP.Post('http://'+FBoxURL+'/cgi-bin/webcm', Params);

        //Auf ungültiges Passwort prüfen
        if StrIPos('Kennwort ist ungültig', FHtml) > 0 then
          FIntErrStr := 'Kennwort ist ungültig !';

      except
        on E: Exception do FIntErrStr := E.Message;
      end;
    end;

  //Auf abbruch prüfen
  if Self.Terminated then goto DoAbortAll;


  //Telefonliste holen
  if FIntErrStr = '' then
    begin
      if Assigned(FOnStatus) then
        FOnStatus('Fritz!Box Anrufliste erzeugen ...');

      try
        FHtml := HTTP.Get('http://'+FBoxURL+'/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&' +
                          'errorpage=../html/de/menus/' +
                          'menu2.html&var:lang=de&var:pagename=foncalls&var:' +
                          'errorpagename=foncalls&var:menu=fon');
        if (FPasswort = '') and (StrIPos('FRITZ!Box Anmeldung', FHtml) > 0) then
          FIntErrStr := 'Sie benötigen ein gültiges Kennwort um die Anrufliste der Box abzuholen !';
      except
        on E: Exception do FIntErrStr := E.Message;
      end;

      //Auf abbruch prüfen
      if Terminated then goto DoAbortAll;


      if Assigned(FOnStatus) then
        FOnStatus('Fritz!Box Anrufliste abholen ...');

      try
        FHtml := HTTP.Get('http://'+FBoxURL+'/cgi-bin/webcm?' + 
                          'getpage=../html/de/FRITZ!Box_Anrufliste.csv');

        sTelList := StrAfter('Dauer', FHtml);
        sTelList := Trim(sTelList);
      except
        on E: Exception do FIntErrStr := E.Message;
      end;

      //Auf abbruch prüfen
      if Terminated then goto DoAbortAll;
    end;




  //Telefonliste löschen
  if (FDeleteOnBox) and (FIntErrStr = '') then
    begin
      if Assigned(FOnStatus) then
        FOnStatus('Fritz!Box Anrufliste löschen ...');
      with Params do
        begin
          Clear;
          Add('getpage=../html/de/menus/menu2.html');
          Add('errorpage=../html/de/menus/menu2.html');
          Add('var:lang=de');
          Add('var:pagename=foncalls');
          Add('var:errorpagename=foncalls');
          Add('var:menu=fon');
          Add('var:pagemaster=');
          Add('telcfg:settings/ClearJournal=1');
        end;

      try
        FHtml := HTTP.Post('http://'+FBoxURL+'/cgi-bin/webcm', Params);
      except
        on E: Exception do FIntErrStr := E.Message;
      end;

      //Auf abbruch prüfen
      if Self.Terminated then goto DoAbortAll;
    end;


  //Event auslösen
  if Assigned(FOnHttpResult) then
    FOnHttpResult(sTelList, FIntErrStr);


  DoAbortAll:

  Params.Free;
  HTTP.Free;
end;
[edit=Jelly]Die zu langen Zeilen auf Wunsch etwas umgebrochen Mfg, Jelly[/edit]

CalganX 23. Mär 2007 15:17

Re: fritz.box Anruferliste
 
:shock:
Mit Labels? Warum nimmst du nicht einen try...finally-Block? Das ist eigentlich das, was man grundsätzlich verwenden sollte unter Delphi. :gruebel:

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 Uhr.
Seite 1 von 2  1 2      

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