Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Spezielle Daten aus Webseite auslesen (https://www.delphipraxis.net/67364-spezielle-daten-aus-webseite-auslesen.html)

marabu 13. Apr 2006 16:49

Re: Spezielle Daten aus Webseite auslesen
 
Das Kennwort des angemeldeten Users gehört eigentlich nicht in eine solche Komplettübersicht einer WebSeite. Wenn du ein Tool schreiben möchtest, welches den Seiten-Kennwortschutz über den Browser aushebelt, dann musst du es nicht als Seitenanalyse verschleiern. Oder ist dir die Brisanz dieser Vorgehensweise nicht bewusst?

marabu

Balu der Bär 13. Apr 2006 16:55

Re: Spezielle Daten aus Webseite auslesen
 
Also pass mal auf, es geht mir garantiert nicht um irgendein Passwort. ;) Ich möchte einfach die Daten auslesen mehr nicht. Siehst du in dem Screenshot vom Firefox ein Passwort ? Ich nicht. Desweiteren diente mir die DP nur als Beispiel, und wenn ich die Seite analysieren will befinden sich keinerlei Daten in den Feldern, also wo soll das Passwort herkommen ? Ich möchte nur genau das machen was der Firefox auch macht, nicht mehr und nicht weniger, und ich denke es ist legitim da ich an kein Passwort ran will. Aber ich habe es mir bereits gedacht das dieses Problem in der Delphi-PRAXiS noch mehr Probleme (unsinnige imho) aufwirft, deshalb habe ich gleich in den ersten Post geschrieben wozu ich es brauche. Zum Beispiel Seiten wie Google.de, wenn ich mir da die Daten von dem Suchen-Button angucke finde ich "de, Google Suche, Auf gut Glück, cr=CountryDE" und genau das möchte ich auslesen, und kein Passwort. Verstehst du was ich meine ?

marabu 13. Apr 2006 19:20

Re: Spezielle Daten aus Webseite auslesen
 
Hallo Balu,

ich bin zwar alt, aber nicht begriffsstutzig. Ich hatte dir bereits in Beitrag #7 geschrieben, dass die von dir gesuchten Feldwerte im HTML-Code stehen. Für den Verlauf der weiteren Diskussion kann ich nichts. Hier hast du etwas Code zum Auslesen der Feldwerte:

Delphi-Quellcode:
procedure ExtractFields(f: IHTMLFormElement; items: TStrings);
var
  i: Integer;
  ie: IHTMLInputElement;
begin
  for i := 0 to Pred(f.length) do
    if Succeeded(f.item(i, 0).QueryInterface(IID_IHTMLInputElement, ie)) then
      items.Values[VarToStr(ie.name)] := VarToStr(ie.value);
end;
Freundliche Grüße vom marabu

Balu der Bär 13. Apr 2006 19:30

Re: Spezielle Daten aus Webseite auslesen
 
Moin marabu,

danke erstmal, aber zu welcher Komponente/Unit gehört denn IHTMLFormElement ? Danke.

marabu 13. Apr 2006 19:31

Re: Spezielle Daten aus Webseite auslesen
 
Die Schnittstellen für vernünftiges Arbeiten mit der WebBrowser-Komponente findest du alle in der Unit MSHTML.

marabu

Balu der Bär 13. Apr 2006 19:38

Re: Spezielle Daten aus Webseite auslesen
 
Das einzige was ich gefunden hab is die Borland.mshtml.dll in meinem Delphi 2005 PE Ordner, weißt du zufällig wie ich an diese Unit komme ? Thx.

mkinzler 13. Apr 2006 19:52

Re: Spezielle Daten aus Webseite auslesen
 
Du mußt sie manuell aus der TLB erzeugen (Wrappen). das Problem an Delphi2005 ist aber, das diese Funktion vergessen wurde. Aber im Embedded-WB Package befindet sich eine passende Wrapper-Unit.Neueste Version hier.

Balu der Bär 13. Apr 2006 20:06

Re: Spezielle Daten aus Webseite auslesen
 
Alles klar, ich kann marabu´s Code jetzt kompilieren. Das Problem is nur das ich grad ziemlich auf dem Schlauch stehe. Ich habe jetzt ExtractFields(webbrowser1, listbox1); probiert, logischerweise ghet es aber nicht. Welchen Wert muss ich denn da übergeben ?

marabu 13. Apr 2006 20:34

Re: Spezielle Daten aus Webseite auslesen
 
Ein Beispiel:

Delphi-Quellcode:
procedure TWebForm.WebBrowserDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  wb2: IWebBrowser2;
  doc2: IHTMLDocument2;
  s: TStrings;
  i: Integer;
begin
  if Succeeded(pDisp.QueryInterface(IID_IWebBrowser2, wb2)) then
  begin
    doc2 := wb2.Document as IHTMLDocument2;
    s := TStringList.Create;
    for i := 0 to Pred(doc2.forms.length) do
    begin
      s.Clear;
      ExtractFields(doc2.forms.item(i, 0) as IHTMLFormElement, s);
      ShowMessage(s.Text);
    end;
    s.Free;
  end;
end;
marabu

Balu der Bär 13. Apr 2006 21:03

Re: Spezielle Daten aus Webseite auslesen
 
Vielen Dank marabu, es geht. :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:25 Uhr.
Seite 2 von 3     12 3      

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