Hallo Zusammen,
ich muss für eine relativ einfache Kommunikation mit einen Webserver bauen.
Ein Externer Server schickt mir per POST ein JSON.
Der Event kommt und ich bekomme in der IdHTTPServer1CommandGet soweit alles- außer:
das JSON was mir mitgeschickt wurde ist unauffindbar...
Code:
procedure TAct.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
Stream : TStream;
S : string;
begin
If ARequestInfo.CommandType = hcPOST then
begin
Stream := ARequestInfo.PostStream;
if Assigned(Stream) then
begin
Stream.Position := 0;
S := ReadStringFromStream(Stream);
TThread.Synchronize(nil,
procedure
begin
memo1.Lines.Add(S);
end);
end
end;
end;
procedure TAct.IdHTTPServer1CreatePostStream(AContext: TIdContext; AHeaders: TIdHeaderList; var VPostStream: TStream);
begin
VPostStream := TMemoryStream.Create;
end;
procedure TAct.IdHTTPServer1DoneWithPostStream(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; var VCanFree: Boolean);
begin
VCanFree := false;
end;
So der Code den ich gefunden habe. Leider ist S immer leer! Hat jemand einen Tip wo ich die Daten finden kann?
Der PostStream scheint nicht leer zu sein, zumindest ist er immer zugewiesen.
Vielen Dank!
Delphi 11 /
Indy 10