Delphi – What’s the simplest way to call Http POST url using Delphi

delphihttp

Inspired by the question What’s the simplest way to call Http GET url using Delphi?
I really would like to see a sample of how to use POST. Preferably to receive XML from the call.

Added: What about including an image or other file in the post data?

Best Answer

Using Indy. Put your parameters in a StringList (name=value) and simply call Post with the URL and StringList.

function PostExample: string;
var
  lHTTP: TIdHTTP;
  lParamList: TStringList;
begin
  lParamList := TStringList.Create;
  lParamList.Add('id=1');

  lHTTP := TIdHTTP.Create;
  try
    Result := lHTTP.Post('http://blahblahblah...', lParamList);
  finally
    lHTTP.Free;
    lParamList.Free;
  end;
end;