Ich vermute dass der Fehler in dem POST Befehl steckt.
Dazu wird benötigt:
Die
URL
Die Header Information
Die Parameter
Der Body
Welche Information an welcher Stelle bei TNetHTTPClient.Post gesetzt werden muss steht in der Delphi hilfe.
Oder in etwa so (schnelle kurz Fassung):
Delphi-Quellcode:
Function doGetData(sBody:
String;
url:
String;
var RPRec: TRPRec): Boolean;
var
uri: TUri;
srRQBody: TStringStream;
RP: IHTTPResponse;
sRQContent:
String;
sRPContent:
String;
srRPBody: TStringStream;
begin
srRQBody:= TStringStream.Create;
srRPBody:= TStringStream.Create;
//-- URL
try
uri := TUri.Create(
URL);
except on E:
Exception do
sErr:= E.
Message;
end;
//-- Params
for I := 0
to slParams.Count-1
do
uri.AddParameter(slParams.Names[i], slParams.ValueFromIndex[i]);
//-- Auth
SetAuth(RQRec);
//-- Headers
for I := 0
to slHeaders.Count-1
do
NetHTTPClient1.CustomHeaders[slHeaders.Names[i]] := slHeaders.ValueFromIndex[i];
//-- Body
sRQContent := sBody;
if RQRec.BodyMode='
raw'
then
begin
srRQBody.WriteString(sRQContent);
srRQBody.Position := 0;
end else
if RQRec.BodyMode='
x-www-form-urlencoded'
then
begin
sRQContent := '
data'+'
='+sRQContent;
srRQBody.WriteString(sRQContent);
srRQBody.Position := 0;
end;
RP := NetHTTPClient1.Post(
uri.ToString, srRQBody, srRPBody);
sRPContent := srRPBody.DataString;
RPRec.StatusCode := RP.StatusCode;
RPRec.StatusText := PChar(RP.StatusText);
RPRec.ResponseText := PChar(sRPContent);
if RPRec.StatusCode=200
then
Result := true;
End;