Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi idhttp post problem (https://www.delphipraxis.net/35542-idhttp-post-problem.html)

cromadon 8. Dez 2004 17:12


idhttp post problem
 
Hey Leute!

Ich weiss es gibt schon haufenweise hilfe zu diesem thema, aber bei mir
hat es trozdem noch nicht hin. Ich würde mich gern mit der idHttp
komponente in einer seite einloggen.

Der Quelltext der Seite:
Delphi-Quellcode:
<form action='http://www.blabla.com/login.php' method=POST>
<input type='text' name='nick' id='insert_feld1'></td>
<input type='password' name='passwort' id='insert_feld1'></td>
<input type='submit' value='Login' id='insert_feld1'></td>
Soweit bin ich mit Hilfe der anderen artikel schon gekommen:
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  IdHTTP: TIdHTTP;
  PostDataStream : TStringStream;
  ParamData : TStringStream;
begin
  IdHTTP:= TIdHTTP.Create(nil);
  PostDataStream := TStringStream.Create('');
  ParamData := TStringStream.Create('');
  ParamData.WriteString('nick=name&passwort=pass');
  IdHTTP.Post('http://www.blabla.com/login.php' , ParamData, PostDataStream);
  postdatastream.Position:=0;
  memo1.Text:=postdatastream.DataString;
end;
aber es funktioniert trozdem nicht. Der Fehler muss irgend wo bei den
übergebenen Daten liegen, weil als Antwort eine vernünftige HTML seite
kommt, nur eben das er mir sagt das pass und username nicht zusammen stimmen.

jfheins 8. Dez 2004 17:30

Re: idhttp post problem
 
Als erstes schließe deinen Code doch bitte in -Tags ein.

Zum zweiten würde ich die methode mit der Stringlist bevorzugen.

cromadon 8. Dez 2004 17:57

Re: idhttp post problem
 
Ja danke für die Idee mit den Delphi tags! :-D

Aber das mit der Stringlist hab ich schon probiert, und
bringt keinen nennbaren unterschied :(

Meflin 8. Dez 2004 18:06

Re: idhttp post problem
 
kommen im namen oder passwort sonder oder leerzeichen vor?
stimmt das passwort wirklich?
gibts den usernamen tatsächlich?

cromadon 8. Dez 2004 18:12

Re: idhttp post problem
 
Wenn ich die HTML datei genau so lade und name und pass einfüll(keine sonderzeichen, nur buchstaben)
und auf Login klick komm ich rein nur mit meiner idhttp komponente funktionierts leider nicht :(

jfheins 8. Dez 2004 18:23

Re: idhttp post problem
 
Andere mal das Ziel (action="") in *mein PHP-Script, siehe unten*, fülle die felder mit etwas aus und schicke das Formular dann ab ...

Ach, und poste das Ergebnis ...

Um der Nachwelt alles zu erhalten,
In der PHP-Datei stand folgendes:
Code:
<? 
header ("Content-Type: text/plain");
print_r ($_REQUEST);
?>
Es werden einfach alle übergebenen Daten ausgegeben ...

cromadon 8. Dez 2004 18:33

Re: idhttp post problem
 
Als Antwort hab ich diese Seite bekommen:
Delphi-Quellcode:
Array
(
)
Nur als Info mit ner abgeänderten HTML datei gehts:
Delphi-Quellcode:
Array
(
    [nick] => name
    [passwort] => pass
)

SirThornberry 8. Dez 2004 18:40

Re: idhttp post problem
 
eventuell erfordert die Seite cockies, bastel die noch dazu und schau ob es dann funktioniert. Desweiteren solltest du noch den richtigen Refferer und sowas angeben.

cromadon 8. Dez 2004 18:55

Re: idhttp post problem
 
An Cookies liegts nicht, hab einfach mal alle gelöscht und das ergebnis bleibt das gleiche(HTML datei geht, delphi geht nicht),
am referrer leigts auch nicht weil die HTML seite auch funktioniert wenn sie offline auf meiner platte liegt und ich mich von dort einlogg, und daher als referrer irgend was wie 'f:\login.htm' steht! :(

Danke trotzdem für alle eure Antworten!!

jfheins 8. Dez 2004 19:21

Re: idhttp post problem
 
Zeig doch mal die komplette HTML-Seite, mit der es geht ...

cromadon 8. Dez 2004 19:34

Re: idhttp post problem
 
hab ich bereits, ich weiss es fehlen die meisten Tags, aber die brauchts nicht!

Delphi-Quellcode:
<form action='http://spiel.cruel-wars.de/login.php' method=POST>
<input type='text' name='nick' id='insert_feld1'></td>
<input type='password' name='passwort' id='insert_feld1'></td>
<input type='submit' value='Login' id='insert_feld1'></td>
Als Hintergrund info:

Die Seite hab ich zusammen gestellt damit ich Sie mit TWebBrowser öffnen und auch den button wieder find, um mich mit
Delphi-Quellcode:
myBrowser.OleObject.Document.forms.item(0).submit;
einloggen zu können! (funknioniert)

Nur brauche ich eine lösung die ohne Twebbrowser funkioniert, weil es sehr mühsam ist jedesmal raus zu finden welcher button es ist und wie ich ihn ansprech!

Daher ist die HTML datei auch so verkürzt, das orginal findet sich auf

Cruel Wars

Das ist ein Online Strategie Spiel, und ich hab mir vorgenommen eine KI dazu zu basteln, nur eben kommen in dem Spiel mehre Seiten vor bei denen ich diesen Post befehl bräuchte, weil das viel leichter geht als jede Seite so zu verkleinern und abzuspeichern!!!

SirThornberry 8. Dez 2004 19:46

Re: idhttp post problem
 
wenn ich mir den ausgangspost richtig anschaue sieht es so aus also ob du den wert vom submit-button nicht mit postest?!

cromadon 8. Dez 2004 19:57

Re: idhttp post problem
 
Stimmt, tu ich nicht, weil ich mir nicht sicher war ob ich den braucht, aber da sowieso nichts
ankommt, macht es keinen Unterschied!

Bovtrup 10. Dez 2004 12:33

Re: idhttp post problem
 
hej

anstelle von die params auszufûllen versuchts mit


procedure TForm1.Button4Click(Sender: TObject);
var
IdHTTP: TIdHTTP;
PostDataStream : TStringStream;
ParamData : TStringStream;
begin
IdHTTP:= TIdHTTP.Create(nil);
PostDataStream := TStringStream.Create('');
ParamData := TStringStream.Create('');
ParamData.WriteString('');
IdHTTP.Post('http://www.blabla.com/login.php?nick=name&passwort=pass' , ParamData, PostDataStream);
postdatastream.Position:=0;
memo1.Text:=postdatastream.DataString;
end;


hat bei mir geholfen

glkgereon 11. Dez 2004 09:40

Re: idhttp post problem
 
wie funzt denn das ganze bei ner asp-seite?
genauso?

cromadon 11. Dez 2004 13:24

Re: idhttp post problem
 
Geht leider auch nicht, ich glaub es liegt daran das die Mehtode die du beschrieben hast, dem Get befehl entspricht und des geht bei der seite leider nicht, hat sonst noch einer eine idee wo der fehler liegen könnte?

Danke für alle antworten die bis jetzt gekommen sind!


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:06 Uhr.

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