Delphi-Programm: Login auf Webseiten?

Guten Tag,
ich will ein kleines Login-Programm mit
2 Editfeldern, einem Button und ein paar Checkboxes schreiben.
Wenn ich in die Editfelder meinen Loginname und mein Passwort eintrage, soll das Programm mich auf der entsprechenden Internetseite anmelden, es soll also den Internet Explorer öffnen, zu der gewünschten Seite navigieren und dann die Information in das Loginname-Feld und das Passwortfeld übertragen.

Den Anfang habe ich schon gemacht, d.h. ob mein Passwort richtig ist zum Beispiel.

Der nächste Schritt wäre das Öffnen des Internet Explorers usw.

Hat jemand von euch eine Idee, wie ich das Problem am einfachsten löse oder ist das Thema jetzt sehr komplex??

Hi auch,

Den Anfang habe ich schon gemacht, d.h. ob mein Passwort
richtig ist zum Beispiel.

Der nächste Schritt wäre das Öffnen des Internet Explorers
usw.

Jetzt wirds also spannend :smile:

Leider kann ich Dir keine fixfertige Delphi Lösung bieten, aber ich kann Dich mit der Nase in die richtige Richtung stellen. Und Warnung: es wird nicht unmöglich komplex, aber auch nicht einfach, und je nachdem wie der Programmierer der Webseite drauf war, kann es auch unmöglich sein (zumindeste nach meinem Wissen). Ich habe eine vergleichbare Aufgabenstellung gelöst, allerdings mit Visual Basic - schade und blöder Zufall (Kundenwunsch), ich mache sonst viel und gerne mit Delphi. Trotzdem bleibt das Grundprinzip dasselbe.

1.) Du verwendest das TWebBrowser Control um die Loginseite zu laden

  • oder -
    Du startest IExplorer.exe als Programm, und hängst Dich dann mit Deinem Programm dran (muss leider vage bleiben, ich habe den entsprechenden Code gerade nicht zur Hand)

2.) Du bekommst in beiden Fällen ein Objekt in die Hand, das die Webseite wiederspiegelt und Dir Zugriff auf alle Elemente dieser Webseite gestattet. Stichwort: DOM (Document Object Model).

3.) Nun musst Du den Quellcode der Loginseite analysieren. Dazu reicht die „Source Code anzeigen“ Funktion des Webbrowsers. Such die Stelle, wo das Passwort eingegeben wird, und schau Dir die HTML Tags rundherum an. Meistens wird dem Eingabefeld, das als Formularfeld codiert wird, ein Name zugrwiesen.

4.) Über Objektaufrufe holst Du Dir dieses Element, und schreibst Dein Passwort rein.

5.) Du verwendest abschließend eine Art Sendebefehl (weiß nicht mehr wie er hieß - findest Du aber alles in der Beschreibung für TWebBrowser) um die von Dir ausgefüllte Seite an den Server zurückzuschicken.

Ich würde übrigens mit der Analyse des Quellcodes beginnen. Wenn Username/Passwort nicht einfach als Formular codiert wurde, sodnern mit einer der zahlreichen aderen Möglichkeiten (Javascript, oder irgend ein anderes Control) dann klappt das mit dem einfachen Zugriff per DOM nicht mehr, und leider enden da meine Kenntnisse - ob man das auch nocht automatisieren kann … keine Ahnung. In meinem Fall (Login-Seite eines Freemailes) wars Gott sei Dank nur ein einfaches Formularfeld.

6.) Abschließend noch ein Hiweis: es gibt ganz brauchbare freie Tools (AutoIt!) die das Ausfüllen von beliebigen Bildschirmseiten per Taqstatur- und Maussimulation machen. Es könnte gut sein, dass Du mit AutoIt! für Deinen Ansprüche leichter ans Ziel kommst wie wenn Du beginnst, Dich mit DOM herumzuschlagen.

Armin