Autor Beitrag
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: So 20.02.05 15:44 
Hallo,
ich versuche mit IdHTTP den Quellcode einer Seite aus dem Internet zu bekommen. Das Problem daran ist, dass man sich da einloggen muss. Die seite ist www.virtual-galopp.de. Das mit dem Quellcode der Einloggseite funktioniert ganz gut:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  LoginUrl := 'http://www.virtual-galopp.de/galopp/welcome.php?name=' +
              Edit1.Text + '&pass=' + Edit2.Text;
  LoginQuelle := IdHTTP1.Get(LoginUrl);
  If Pos('Fehler', LoginQuelle) > 0 then
    begin
      ShowMessage('Falscher Benutzername oder Passwort!');
      Exit;
    end;


Wenn das erfolgreich war versuche ich dann die nächste seite, um die es mir eigentlich geht zu bekommen. Das versuche ich ebenfalls mit der IdHTTP.Get funktion. Aber das funktioniert nicht. Zurück bekomme ich so die Seite die kommen würde wenn ich nicht eingeloggt bin. Ich denke das Login wird in einem Cookie gespeichert.

Ich habe es auch schon mit dem TWebBrowser probiert. Zuerst navigate auf die Seite nach dem einloggen, und dann einen Navigate auf die seite die ich haben will, aber auch hier sagt er beim zweiten navigate ich bin nicht eingeloggt!

Wenn ich nach dem ersten navigate aber über die links zu der seite durchgegklickt habe, dann ging es. ALso scheint er mir beim zweiten Navigate die Session zu ruinieren.

Hat vielleicht jemand eine idee wie ich das anders lösen könnte?

Viele Grüße Andi!

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
Andi1982 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: So 20.02.05 18:57 
Hey,

ich habe ein bisschen rumprobiert und so ging es dann:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
  LoginUrl := 'http://www.virtual-galopp.de/galopp/welcome.php?name=' +
              Edit1.Text + '&pass=' + Edit2.Text;
  LoginQuelle := IdHTTP1.Get(LoginUrl);
  If Pos('Fehler', LoginQuelle) > 0 then
    begin
      ShowMessage('Falscher Benutzername!');
      Exit;
    end;
  WebBrowser1.Navigate(LoginURL);
  sleep(5000);
  Webbrowser1.Navigate('http://www.virtual-galopp.de/galopp/termin.php?show=buchmacher');


Das Problem war scheinbar dass die Seite beim ersten Navigate nicht fertig geladen wurde! Durch das sleep funktioniert es dann!

Jetzt muss ich nur noch den Quellcode editieren und im WEbBrowser die editierte version des Quellcodes anzeigen.

Wie kann ich jetzt aus dem TWebBrowser den Quellcode in einen String bekommen oder in ein Memofeld?

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...