Quelltext eines Webbrowser auslesen und POST übergeben


Antispy

Mitglied
Hallo zusammen :)
Zuerst eine kleine Beschreibung, was mein Endprodukt ergeben soll:

Tool zur automatischen Überprüfung eines Online-Webmails

Ich möchte ein kleines Tool einwickeln, in der man über eine kleine Konfiguration eine URL, einen Benutzernamen und ein Passwort eingeben soll.
Die URL muss zu dem LoginBereich eines Emailanbieters führen (z.B. gmx.net)
Anschließend soll über den Button "Start" im Tool eine Verbindung zu dieser Seite aufgebaut werden und der automatische Login erfolgen. Die Seite wird ab nun alle paar Minuten aktualisiert und der Quelltext soll durchsucht werden (z.B. nach "<b>Betreff einer neuen Mail</b>"). Danach erfolgt ein Form2->ShowModal(); wo ein Hinweis erscheint, dass eine neue Email eingetroffen ist.

Meine Fragen hierzu wären folgende:

1. Den Webbrowser und Seitenaufruf habe ich bereits implementiert, aber wie habe ich die Möglichkeit dem Formular schon die $_POST-Werte zu übergeben und das "submit" des Logins zu betätigen?

2. Wie ist es Möglich den Quelltext der Seite auszuwerten? Meine Idee war es, den Quelltext in ein Memo-Feld zu schreiben und dort zu durchsuchen, nur leider weiß ich nicht, wie ich den besagten Quelltext auslesen kann. Desweiteren stellt sich das problem, dass die Seiten meistzeitig in Frames aufgebaut sind und ich so wahrscheinlich noch den Quelltextes auslesen müsste.

Ich würde mich über jede Idee freuen!!
Vielen Dank im Voraus!!

Mfg Antispy
 

Turri

Erfahrenes Mitglied
Hi,

warum willst du den Umweg über den Browser gehen?
Du kannst die Indy-Komponente IdPOP3 nutzen.

Geht recht komfortabel damit, mails abzurufen bzw. kontrollieren, ob neue da sind.

Code:
IdPOP31->Host = "pop.gmx.net"
IdPOP31->UserId = name;
IdPOP31->Password = passwort;
IdPOP31->Port = 110;
IdPOP31->Connect();
int iAnzMails = IdPOP31->CheckMessages(); // iAnzMails einfach merken, und beim nächsten abrufen vergleichen
IdPOP31->Disconnect();
Achtung: Code nicht getestet, soll nur ein Anstoss sein.

MfG Turri
 

Antispy

Mitglied
Hi Turri,
das ganze hatte folgende Hintergrundidee:

In einer Firma läuft ein Exchange-Server, auf dem die Leute als Domänenbenutzer innerhalb des Netzwerkes ganz einfach ihre Emails abrufen können (z.B. über outlook)

Wenn der Benutzer nun aber nicht im Netzwerk ist und kein VPN zur Verfügung steht, dann kann der Benutzer beispielsweise NUR den Online Web Access nutzen.
Nun wollte ich ein kleines Programm schreiben, wo dem Benutzer dann halt immer ein kleines Fenster aufpoppt, wenn das Programm erkannt hat, dass eine neue Email eingetroffen ist ;)
 

Turri

Erfahrenes Mitglied
Achso, naja das wusste ich nicht.

Welche Borland Builder Version nutzt du?
Hab gerade Laune und bastel gerade mit dem Borland C++ Builder 6 rum.

MfG Turri
 

Turri

Erfahrenes Mitglied
Hi ich nochmal,

hab mal ein wenig gebastelt.
Hier hast du den Quellcode der HTML Seite.
Hab ich aber auch nur geklaut. :p

Musst auf dein Form1 nur ein TCppWebBrowser und ein RichEdit legen.
Und dann noch "OnDocumentComplete" Ereignis vom CppWebBrowser hinzufügen.
Solltest aber die Orginalnamen lassen.
Dann müsstest du den Anhang nutzen können.

Das Parsen der Webseite um an die nötigen Header Daten für den Login zu kommen hab ich jetzt nicht gemacht.
Dazu nehm ich immer "Tamper Data" Plugin (liesst Header daten bei jedem Request aus) für den Firefox, der sagt mir das dann wenn ich es einmal manuell gemacht hab ;)

Und wegen dem PostReqest sollte aber der Link weiterhelfen.

Link

Wenns mit dem PostRequest nicht klappt, bastel ich das auch noch rein. ;-)
Aber dann nur für die web.de seite oder so :)

Du nutzt doch den TCppWebBrowser oder?

MfG Turri
 

Anhänge

Zuletzt bearbeitet:
C

cppAndMe

Hi,
habe das heute für eine neuere Builder Version gebraucht. Und nach kleinen Modifikationen funktioniert es auch!

Super und vielen Dank