AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Internet / LAN / ASP.NET Delphi Anrufliste der FritzBox auslesen

Anrufliste der FritzBox auslesen

Ein Thema von CalganX · begonnen am 4. Mai 2007
Antwort Antwort
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.400 Beiträge
 
Turbo Delphi für Win32
 
#1

Anrufliste der FritzBox auslesen

  Alt 4. Mai 2007, 22:33
Die FritzBox ist als DSL-Modem und Router weit verbreitet. Einige Modelle besitzen eine VoIP-Funktion inkl. Liste der ein- und ausgegangenen Anrufe. Diese kann man auch in Delphi auslesen, wie ACE-ppc zeigt:
Delphi-Quellcode:
function GetCallingsList(AUrl: string; var AErrorString: string; APassword: string = ''; ADeleteOnBox: boolean = false): string;

function StrAfter(const SubStr, Str:string):string;
var
  p:Integer;
begin
  Result := '';
  p := Pos(SubStr,Str);
  if P > 0 then begin
    Inc(p, Length(SubStr));
    while (p<length(str)) and (Str[p]<>'&') do begin
      Result := Result + Str[p];
      Inc(p);
    end;
  end;
end;

var
  Params: TStringList;
  HTTP: TIdHTTP;
  HTML: String;
begin
  HTTP := TIdHttp.Create(nil);
  Params := TStringList.Create;
  try
    with HTTP do
    begin
      HandleRedirects := true;
      Request.ContentLength := -1;
      Request.Accept := 'text/html, */*';
      HTTPOptions := [hoForceEncodeParams];
    end;
    
    Result := '';
    
    // Wenn Passwort vorhanden, Login durchführen
    if APassword <> 'then
    begin
      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=' + APassword);
      end;
      
      // Versuchen einzuloggen
      try
        HTML := HTTP.Post('http://' + AUrl + '/cgi-bin/webcm', Params);
        
        // Auf ungültiges Passwort prüfen
        if Pos('Kennwort ist ungültig', HTML) > 0 then
          AErrorString := 'Kennwort ist ungültig';
      except
        on E: Exception do AErrorString := E.Message;
      end;
    end;
    
    // Wenn bereits ein Fehler aufgetreten ist, geht's raus
    if AErrorString = 'then
      Exit;
      
    // Telefonliste holen
    try
      HTML := HTTP.Get('http://' + AUrl + '/cgi-bin/webcm?' +
                       'getpage=../html/de/FRITZ!Box_Anrufliste.csv');
      Result := StrAfter('Dauer', HTML);
      Result := Trim(Result);
    except
      on E: Exception do AErrorString := E.Message;
    end;
    
    // Bei Fehler hier enden
    if AErrorString = 'then
      Exit;
    
    // Telefonliste löschen
    if (ADeleteOnBox) then
    begin
      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
        HTML := HTTP.Post('http://' + AUrl + '/cgi-bin/webcm', Params);
      except
        on E: Exception do AErrorString := E.Message;
      end;
    end;
  finally
    HTTP.Free;
    Params.Free;
  end;
end;
[edit=CalganX]Code überarbeitet. Mfg, CalganX[/edit]
»Mein Kaffee ist so schwarz — der fängt gleich an zu rappen...«
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2012 by Daniel R. Wolf