AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Firefox html code auslesen und setzen
Thema durchsuchen
Ansicht
Themen-Optionen

Firefox html code auslesen und setzen

Ein Thema von delphis spassbremse · begonnen am 31. Mär 2007 · letzter Beitrag vom 2. Apr 2007
Antwort Antwort
delphis spassbremse
(Gast)

n/a Beiträge
 
#1

Firefox html code auslesen und setzen

  Alt 31. Mär 2007, 22:13
Nabend...

also der Titel ist ja schon aussagekräftig genug...^^
Es geht darum aus der aktuellen Firefox instanz den html
Quelltext setzen und lesen zu können...

Das ganze hat den grund, weil man sich zu meinem Internetcafé
Programm ein kleiner Seitenfilter drin ist.

Für den Internetexplorer hab ich schon was erstellt, aber
da ja Firefox kein ActiveX unterstützt ist der code für
den IE quasi für die Tonne.

Also in meinem Fall geht es um Firefox 2.*
ganz stinknormal ohne addons und weiteren
schnickschnack....

Habe es zwar schon mit fenstermessages versucht, funzt aber net so ganz.

Und bitte keine Vorschläge machen, bau doch einen Proxy...
Das ist nämlich leichter gesagt als geschrieben...
Meine Proxy´s haben irgendwie immer das Problem,
dass sie nicht transparent sind , streams (chats) nicht durchlassen
und die youtube u. andere flashviedeos nicht mitgezogen werden...

Andere externe Proxys sollen auch nicht eingesetzt werden, da
die Kunden den Badwordfilter durch gültiger eingabe der Personalausweisnummer
deaktivieren können müssten.. (find ich zwar hol, aber man wills so)

und so wäre es das einfachste, wenn ich
den code hole => auf badwords überprüfe => evtl. den "Sperre-Info-Code" an fifo zurücksenden.


Hat jemand eine Idee sowas zu realsieren, oder nen code?

MFG


[EDIT]
Eine idee hatte ich ja noch... die aktuelle Url aus dem dde dienst holen und dann per idHttp den html text holen...,
aber wie leere ich dann das firefox fenster und schreib ein Badword hinweis hinein??
[/EDIT]
  Mit Zitat antworten Zitat
delphis spassbremse
(Gast)

n/a Beiträge
 
#2

Re: Firefox html code auslesen und setzen

  Alt 2. Apr 2007, 11:15
*push*

hat keiner ne idee wie ich sowas realiesieren kann?
  Mit Zitat antworten Zitat
Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#3

Re: Firefox html code auslesen und setzen

  Alt 2. Apr 2007, 11:44
Also, ich mach das so:
(Quelltext aus Firefox in ein SynEdit übernehmen)
Delphi-Quellcode:
function GetActiveBrowsersURL(Service: string): string;
var
  ClDDE: TDDEClientConv;
  zwi: PChar;
begin
  ClDDE := TDDEClientConv.Create(nil);
  with ClDDE do
  begin
    SetLink(Service, 'WWW_GetWindowInfo');
    zwi := RequestData('0xFFFFFFFF');
    CloseLink;
  end;
  Result := StrPas(zwi);
  StrDispose(zwi);
  ClDDE.Free;
end;

Function GetHTML(AUrl: string): string;
var
  databuffer : array[0..4095] of char;
  ResStr : string;
  hSession, hfile: hInternet;
  dwindex,dwcodelen,dwread,dwNumber: cardinal;
  dwcode : array[1..20] of char;
  res : pchar;
  Str : pchar;
begin
   ResStr:='';
   Result:='';
   if pos('http://',lowercase(AUrl))=0 then
     AUrl:='http://'+AUrl;
   hSession:=InternetOpen('InetURL:/1.0',
                       INTERNET_OPEN_TYPE_PRECONFIG,
                       nil,
                       nil,
                       0);
   If assigned(hSession) Then Try
      hfile:=InternetOpenUrl(
         hsession,
         pchar(AUrl),
         nil,
         0,
         INTERNET_FLAG_RELOAD,
         0);
      if assigned(hfile) then Try
         dwIndex := 0;
         dwCodeLen := 10;
         HttpQueryInfo(hfile,
                HTTP_QUERY_STATUS_CODE,
                @dwcode,
                dwcodeLen,
                dwIndex);
         res := pchar(@dwcode);
         dwNumber := sizeof(databuffer)-1;
         if (res ='200') or (res ='302') then begin
            while (InternetReadfile(hfile,@databuffer,dwNumber,DwRead)) AND (dwRead <>0) do begin
                  databuffer[dwread]:=#0;
                  Str := pchar(@databuffer);
                  resStr := resStr + Str;
                  Application.ProcessMessages;
            end;
         end else
             ResStr := 'Status:'+res;
      Finally
             InternetCloseHandle(hfile);
      End;
   Finally
          InternetCloseHandle(hsession);
   End;
   Result := ResStr;
end;

procedure TFrameForm.FirefoxQuelltextbernehmen1Click(Sender: TObject);
var
  s: string;
  i: integer;
begin
  try
    Server := True;
    Url := GetActiveBrowsersURL('firefox');
    if url = 'then exit;
    Delete(Url,1,1);
    i := Pos('"', Url);
    Delete(Url,i,Length(Url)-(i-1));
    //ShowMessage(Url);
    FrameForm.New1Click(Sender);
    with ActiveMDIChild as TEditForm do
    begin
      SynEdit1.ClearAll;
      synEdit1.Lines.Add('****************************************');
      SynEdit1.Lines.Add(Url);
      SynEdit1.Lines.Add('****************************************');
      SynEdit1.Text := GetHTML(Url);
      SynEdit1.Text := StringReplace(SynEdit1.Text, '', #13#10, [rfReplaceAll]);
      Viewer.LoadStrings(SynEdit1.Lines, '');
      SynEdit1.Modified := True;
    end;
  except
    ShowMessage('Fehler bei Übernahme des Quelltextes!');
  end;
end;
Ich hoffe, ich konnte Dir ein wenig helfen.
  Mit Zitat antworten Zitat
delphis spassbremse
(Gast)

n/a Beiträge
 
#4

Re: Firefox html code auslesen und setzen

  Alt 2. Apr 2007, 12:31
Danke super^^

jetzt fehlt iurgendiwe noch was, womit ich den
html code setzten kann^^


ich kann ja vorerst ja so machen, dass wenn ein badword aufgerufen wird,
der browser geschlossen wird und eine nachricht per application.messagebox rauskommt^^
  Mit Zitat antworten Zitat
Antwort Antwort


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 · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 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