Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Login auf Homepage mit Indy (https://www.delphipraxis.net/173185-login-auf-homepage-mit-indy.html)

Metschu 11. Feb 2013 16:16

Login auf Homepage mit Indy
 
Hallo zusammen!

Ich möchte mich auf eine Homepage mit der Indy Komponente Einloggen.
Zuerst hatte ich immer die Fehlermeldungen, da dies eine "https" Seite ist. Nach einigen Stunden der Suche hier im Forum hab ich nun eine Anleitung für die SSL-Verschlüsselung gefunden. Das ganze läuft mit folgendem Code fehlerfrei durch:

Delphi-Quellcode:
procedure TMainForm.MainLogInClick(Sender: TObject);
var
  sList: TStrings;

begin
  sList:=TStringList.Create;

  try
    sList.Add('BenutzerName='+LogInName);
    sList.Add('Passwort='+Passwort);
    Memo1.Lines.Add(IDHTTP.Post(Startseite,slist,));
  finally
    sList.Free;
  end;
end;
Im Memo1 zeigt er mir dann den Quelltext der Login Seite an. Wenn ich das richtig verstanden habe, müßte dann doch der Quelltext der Folgeseite ("Herzlich Willkommen, sie sind eingeloggt als...") angezeigt werden.

Wenn kein oder ein Falscher Benutzername / Passwort eingegeben wurde, erscheint eine Fehlermeldung auf der Webseite und dann logischerweise auch im Quelltext (habs getestet und einen Quelltext mit Fehlermeldung)

Im Memo1 ist aber der Originale Quelltext, ohne Fehlermeldung.

Hat jemand ne Idee?

Danke schonmal.
Gruß

Torsten

sx2008 11. Feb 2013 17:19

AW: Login auf Homepage mit Indy
 
Du solltest prüfen, ob die Webseite JavaScript verwendet.
Falls ja, dann könnte es mit Indy etwas schwierig werden.
Ausserdem könnte es sein, dass die Webseite ein (oder mehrere) Cookie(s) setzt.
Sollte das Cookie beim POST nicht mitgesendet werden dann ist wahrscheinlich dass der Login fehlschlägt.

mjustin 11. Feb 2013 17:27

AW: Login auf Homepage mit Indy
 
Bei POST sendet der Server anschliessend nicht selten ein Redirect, also eine Weiterleitung auf eine andere URL.
Indy folgt diesem Redirect standardmässig nicht. Mit IdHttp1.Followredirect := True kann man das ändern.

Metschu 11. Feb 2013 18:35

AW: Login auf Homepage mit Indy
 
Vielen Dank Euch beiden schonmal für die Infos und Hilfe.
Zitat:

Zitat von sx2008 (Beitrag 1202932)
Du solltest prüfen, ob die Webseite JavaScript verwendet.

Die Seite verwendet JavaScript. Wenn ich das Deaktiviere, dann wird die Seite schon nicht mehr angezeigt.
Funktionierend hatte ich das schon mit dem TWebbrowser hinbekommen. Da das ganze im Hintergrund laufen soll, die "Optik" der Seite nicht nötig ist und Indy schneller sein sollte, wollte ich das über diese Möglichkeite ausprobieren.
Zitat:

Zitat von sx2008 (Beitrag 1202932)
Falls ja, dann könnte es mit Indy etwas schwierig werden.

Die Frage ist, wie schwierig ist schwierig. Lohnt sich der Aufwand, um von Webbrowser auf Indy umzusteigen?
Fertig ist das Prog noch nicht, da ich noch am Testen bin, welchen Weg ich gehen soll.

mjustin 12. Feb 2013 12:28

AW: Login auf Homepage mit Indy
 
Zitat:

Zitat von Metschu (Beitrag 1202949)
Die Frage ist, wie schwierig ist schwierig. Lohnt sich der Aufwand, um von Webbrowser auf Indy umzusteigen?

Bei SSL mit Indy entsteht leicht ein Sicherheitsproblem: wie muss Indy konfiguriert werden, damit es nicht beliebige Serverzertifikate akzeptiert? Da der Benutzer nicht sehen kann, was im Hintergrund geschieht, kann er auch keine Browserwarnungen über abgelaufende oder unbekannte Zertifikate sehen, oder sich selber über die Zertifikatseigenschaften informieren (die zum Beispiel über Klick auf das Schlossymbol erreichbar sind).

Das gilt eventuell auch für TWebbrowser, ich kenn diese Komponente aber nicht so gut. Warnt TWebbrowser bei Problemen mit Zertifikaten?

daywalker9 12. Feb 2013 15:14

AW: Login auf Homepage mit Indy
 
Zitat:

Zitat von mjustin (Beitrag 1203080)
Das gilt eventuell auch für TWebbrowser, ich kenn diese Komponente aber nicht so gut. Warnt TWebbrowser bei Problemen mit Zertifikaten?


Ja, das es auf dem IE basiert.

Metschu 12. Feb 2013 18:52

AW: Login auf Homepage mit Indy
 
Zitat:

Zitat von daywalker9 (Beitrag 1203119)
Zitat:

Zitat von mjustin (Beitrag 1203080)
Das gilt eventuell auch für TWebbrowser, ich kenn diese Komponente aber nicht so gut. Warnt TWebbrowser bei Problemen mit Zertifikaten?


Ja, das es auf dem IE basiert.

Also meine Erfahrung sieht so aus:

Wenn ich die HP mit dem IE aufrufe, dann bekomme ich die Meldung "Es ist ein Problem mit dem Sicherheitszertifikat aufgetreten". Wenn ich diese Seite über den TWebBrowser aufrufe, dann kommt die Meldung nicht.

geskill 14. Feb 2013 19:52

AW: Login auf Homepage mit Indy
 
Zitat:

Zitat von Metschu (Beitrag 1202949)
Die Frage ist, wie schwierig ist schwierig. Lohnt sich der Aufwand, um von Webbrowser auf Indy umzusteigen?

Also ich käme nie auf die Idee mit der TWebbrowser Komponente zu arbeiten ;)

Es kommt jetzt darauf an wie viel du an HTTP Internetkommunikation erledigen möchtest/musst. Wenn es nur der Login plus 2-3 Unterseiten sind, kannst du das ziemlich rasch in Indy umschreiben (ich bräuchte dafür vllt 2 Stunden, für jemanden der noch nie mit der Indy Komponente gearbeitet hat, kann das aber schnell ausarten +/- 1 Woche).

Wenn es deutlich mehr ist empfehle ich dir eine abstrakte Schnittstelle zu kreieren, die du dann wahlweise mit Indy, ICS etc. füttern kannst.

Metschu 14. Feb 2013 20:59

AW: Login auf Homepage mit Indy
 
Zitat:

Zitat von geskill (Beitrag 1203605)
Es kommt jetzt darauf an wie viel du an HTTP Internetkommunikation erledigen möchtest/musst. Wenn es nur der Login plus 2-3 Unterseiten sind, kannst du das ziemlich rasch in Indy umschreiben

Genau so sieht es eigentlich aus:
  • LogIn auf der Seite
  • Quelltext auf ein bestimmte Wortkette hin durchsuchen
  • Entsprechend der Uhrzeit und dem Ergebniss der Suche eine neue Seite aufrufen (Button drücken)
  • Abmelden

Mit dem tWebBrowser funktioniert das schon, allerdings soll das ganze im Hintergrund laufen (im TNA minimiert) und dann klappt das Quelltextauslesen wieder nicht :(
Außerdem, für was nen WebBrowser, den man nicht sieht und nur Speicher frist ;)

Hast Du nen Tip, wo man sich mal einlesen kann um die Indy-Komponente anzupassen bzw was man da anpassen muß?

geskill 14. Feb 2013 21:41

AW: Login auf Homepage mit Indy
 
Auch wenn es stark nach Eigenwerbung klingt; schau mal in mein Tutorial: http://www.delphipraxis.net/160152-i...protokoll.html

Damit bekommst du erstmal das grobe Handwerkszeug um mit der Komponente umzugehen, also aufmerksam lesen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz