Hallo,
ich hoffe, dass ich hier im richtigen Sub-Forum gelandet bin.
Ich habe ein Problem mit der
Indy Komponente für Freepascal.
So versuche ich, Daten per "Post" an ein PHP-Formular zu senden.
Mir ist dabei aufgefallen, dass es bisher nur bei /normalen/ HTTP Seiten funktioniert.
Hier (
Test-PHP) habe ich mal ein Beispiel hochgeladen.
Wenn man an diese Datei per Post Daten ("x=Hallo") sendet, funktioniert es auch.
Bei
Https funktioniert das aber nicht so sehr:
Wenn ich z.B. Daten an Facebook.de sende:
Zitat:
charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2% B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84&lsd=aAcaf&locale= de_DE&email=*email*&pass=*pass*&default_persistent =0&charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C% C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84&lsd=aAcaf
Dann kommt nichts zurück.
Es funktioniert weder mit "Ararat Synapse" noch mit "
Indy", das ich allgemein sehr bevorzuge.
INDY:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
s: TStringList;
v: TMemoryStream;
begin
s:= TStringList.Create;
v:= TMemoryStream.Create;
s.Add('charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84');
s.Add('lsd=-uGj9');
s.Add('locale=de_DE');
s.Add('email=*mail-zensiert*');
s.Add('pass=*pass-zensiert*');
s.Add('default_persistent=0');
IdHTTP1.Post('http://login.facebook.com/login.php?login_attempt=1', s, v);
ShowMessage(MemoryStreamToString(v));
s.Free
end;
Das Programm hängt sich einfach auf!
Synapse:
Code:
function GetPOSTResult(Pfad, Postdata: String; ResultStrings:TStringList):Boolean;
var
Str: TMemoryStream;
begin
Result:=False;
ResultStrings.Clear;
Str := TMemoryStream.Create;
try
if HttpPostURL(Pfad, Postdata, Str) then begin
ResultStrings.LoadFromStream(Str);
Result:=True;
end;
finally
Str.Free;
end;
end;
Hier kommt einfach nichts (nil) an!
Es wäre nett, wenn mir einer helfen könnte
!!!
Pascal