Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: IdHTTPost funktioniert nicht

  Alt 10. Aug 2021, 09:41
.. bist Du Dir sicher das  lHTTP.Post('http://localhost:20001/transaction', DataToSend); als zweiten Parameter einen Pointer haben will.
DataToSend ist bei Dir eine TStringList, wenn Du den Inhalt der StringList übergeben möchtest
dann dataToSend.Text.

Grüße
Klaus
Es gibt eine Überladung, die TStrings-Nachfahren entgegennimmt.

Delphi-Quellcode:
procedure TIdCustomHTTP.Post(AURL: string; ASource: TStrings; AResponseContent: TStream;
  AByteEncoding: IIdTextEncoding = nil
  {$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF}
  );
var
  LParams: TMemoryStream;
begin
  // Usual posting request have default ContentType is application/x-www-form-urlencoded
  if (Request.ContentType = '') or IsContentTypeHtml(Request) then begin
    Request.ContentType := 'application/x-www-form-urlencoded'; {do not localize}
  end;

  if ASource <> nil then
  begin
    LParams := TMemoryStream.Create;
    try
      WriteStringToStream(LParams, SetRequestParams(ASource, AByteEncoding{$IFDEF STRING_IS_ANSI}, ASrcEncoding{$ENDIF}));
      LParams.Position := 0;
      Post(AURL, LParams, AResponseContent);
    finally
      FreeAndNil(LParams);
    end;
  end else begin
    Post(AURL, TStream(nil), AResponseContent);
  end;
end;
  Mit Zitat antworten Zitat