![]() |
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:
Soweit bin ich mit Hilfe der anderen artikel schon gekommen:
<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>
Delphi-Quellcode:
aber es funktioniert trozdem nicht. Der Fehler muss irgend wo bei den
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; ü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. |
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. |
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 :( |
Re: idhttp post problem
kommen im namen oder passwort sonder oder leerzeichen vor?
stimmt das passwort wirklich? gibts den usernamen tatsächlich? |
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 :( |
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:
Es werden einfach alle übergebenen Daten ausgegeben ...
<?
header ("Content-Type: text/plain"); print_r ($_REQUEST); ?> |
Re: idhttp post problem
Als Antwort hab ich diese Seite bekommen:
Delphi-Quellcode:
Nur als Info mit ner abgeänderten HTML datei gehts:
Array
( )
Delphi-Quellcode:
Array
( [nick] => name [passwort] => pass ) |
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.
|
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!! |
Re: idhttp post problem
Zeig doch mal die komplette HTML-Seite, mit der es geht ...
|
Re: idhttp post problem
hab ich bereits, ich weiss es fehlen die meisten Tags, aber die brauchts nicht!
Delphi-Quellcode:
Als Hintergrund info:
<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> Die Seite hab ich zusammen gestellt damit ich Sie mit TWebBrowser öffnen und auch den button wieder find, um mich mit
Delphi-Quellcode:
einloggen zu können! (funknioniert)
myBrowser.OleObject.Document.forms.item(0).submit;
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 ![]() 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!!! |
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?!
|
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! |
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 |
Re: idhttp post problem
wie funzt denn das ganze bei ner asp-seite?
genauso? |
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