Entwickler-Ecke
Internet / Netzwerk - Dateidownload passwortgeschützer Dateien
f3Lix - Mi 30.03.05 01:35
Titel: Dateidownload passwortgeschützer Dateien
Also, ich würd gerne den Quelltext einer Datei erstma in einem Memo haben, später mach ich damit dann mehr, erstma haben.
Das Problem: an die datei kommt man nur, wenn man eingeloggt ist. Es handelt sich um ein OnlineBrowserGame. Ich will da später Punktstände von Spielern auslesen, dazu brauch ich den Quelltext von bestimmten Seiten der Spieler:
http://amalia.maedhros.com/user/index.php?username=Spieler1
http://amalia.maedhros.com/user/index.php?username=Spieler2
usw...
Die Dateien könnte ich ja mit folgendem Code runterladen und als txt speichern, das einlesen wäre dann leicht.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var quelle: string; ziel: string; begin quelle := 'http://amalia.maedhros.com/user/index.php?username=Spieler1'; ziel := 'c:\spieler1.txt'; URLDownloadToFile(nil, PChar(Quelle), PChar(Ziel), 0, nil); end; |
Aber wie gesagt, kommt man an die Seiten nur, wenn man eingeloggt ist bei dem Spiel. Also wie mach ich das nun noch? (Es ist egal, als welcher Spieler man eingeloggt is, man kommt dann an alle Datein ran)
Also einmal einloggen, dann alle nacheinander auslesen.
matze - Mi 30.03.05 10:12
mit den
INDY kompos geht sowas.
WeBsPaCe - Mi 30.03.05 10:58
Hmm. Man könnte einfach die TWebBrowser-Kompo nehmen und sich mit der auf dem Formular einloggen. Such einfach mal im Forum nach
WEBBROWSER SUBMIT. ;)
f3Lix - Mi 30.03.05 13:05
alles klar, hab ich hinbekommen.. jedoch nur, wenn ich das anmeldeformular selbst ausfülle... denn ich weiss nich, wie ich die sicherheitsfrage knacke.. wie checke ich da nen radiobutton?
http://amalia.maedhros.com/login.php
Die anderen hab ich nun so gelöst:
Delphi-Quelltext
1: 2:
| WebBrowser1.OleObject.Document.forms.Item(0).Item('nick').Value := 'Name'; WebBrowser1.OleObject.Document.forms.Item(0).Item('password').Value := 'Passwort'; |
Aber die Frage krieg ich so nicht:
Delphi-Quelltext
1:
| WebBrowser1.OleObject.Document.forms.Item(0).Item('antwort').Value := '3'; |
einbauen, wann er welche antwort nehmen soll, krieg ich dann schon hin, wenn ich wüsste, wie man überhaupt checkt.
The_Alien - Di 06.11.07 15:14
Anstelle das Formular auszufüllen würde ich einfach die URL mit den entsprechenden Post Daten aufrufen. Danach kannst du den Webbrowser auf die Zielseite steuern und bei bedarf dann den Quelltext auslesen.
The_Alien - Do 08.11.07 01:35
Habe da mal was rausgesucht - evtl hilft es dir ja:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TForm1.Button1Click(Sender: TObject); var i: Integer; EncodedStr: string; Header: OleVariant; Post: OleVariant; begin EncodedStr := 'name=SwissDelphiCenter.ch&text=Test Guestbook entry';
Post := VarArrayCreate([0, Length(EncodedStr) - 1], varByte);
for I := 1 to Length(EncodedStr) do Post[I - 1] := Ord(EncodedStr[I]);
Header := 'Content-Type: application/x-www-form-urlencoded' + #10#13;
WebBrowser1.Navigate('http://www.swissdelphicenter.ch/en/addguestsent.php', EmptyParam, EmptyParam, Post, Header); end; |
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!