Hi nochmal,
Wie setzt man denn mit idHTTP einen Post Befehl mit mehreren Parametern ab ? Muss eigens dafür eine for - Schleife geschrieben werden um jeden Parameter einzeln:
Params.WriteString(URLEncode(KEY + VALUE + '&'));
zu encoden ?
Meine Parameter kommen in einer Zeile wie z.B.
username=Rolf&pass=Geheim&Anzug=Gruen&Ort=SanktAug ustin
Muss eine Prozedur geschrieben werden um die einzelnen Wertepaare zu ermitteln?
Delphi-Quellcode:
{++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//submit_post
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
Procedure submit_post(url_string,parameter:
string;amemo:TMemo);
var
aStream: TMemoryStream;
Params: TStringStream;
begin
aStream := TMemoryStream.create;
Params := TStringStream.create('
');
try
with Fmain.IdHTTP1
do
begin
//Params.WriteString(URLEncode('user=' + Edit1.Text + '&'));
//Params.WriteString(URLEncode('pass=' + Edit2.Text));
Request.ContentType := '
application/x-www-form-urlencoded';
try
Response.KeepAlive := False;
Post(url_string, Params, aStream);
except
on E:
Exception do
showmessage('
Error encountered during POST: ' + E.
Message);
end;
end;
aStream.WriteBuffer(#0'
', 1);
aStream.Position := 0;
amemo.Lines.LoadFromStream(aStream);
except
aStream.Free;
Params.Free;
end;
end;