当前位置:  开发笔记 > 编程语言 > 正文

使用Delphi调用Http POST url的最简单方法是什么?

如何解决《使用Delphi调用HttpPOSTurl的最简单方法是什么?》经验,为你挑选了3个好方法。

受问题的启发使用Delphi调用Http GET url的最简单方法是什么? 我真的很想看到如何使用POST的示例.优选地,从呼叫接收XML.

补充:如何在发布数据中包含图像或其他文件?



1> Bruce McGee..:

使用Indy.将您的参数放在StringList(name = value)中,只需使用URL和StringList调用Post.

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;



2> Conor Boyd..:

以下是使用Indy将JPEG发布到运行Gallery的Web服务器的示例

我有这种东西(我在一个屏幕保护我在Delphi写可用的库项目中使用它们的更多的例子在这里的画廊网站,或更多的信息在这里).

我认为重要的一点是JPEG作为流传入.

procedure AddImage(const AlbumID: Integer; const Image: TStream; const ImageFilename, Caption, Description, Summary: String);
var
  Response: String;
  HTTPClient: TidHTTP;
  ImageStream: TIdMultipartFormDataStream;
begin

  HTTPClient := TidHTTP.Create;

  try
    ImageStream := TIdMultiPartFormDataStream.Create;
    try
      ImageStream.AddFormField('g2_form[cmd]', 'add-item');
      ImageStream.AddFormField('g2_form[set_albumId]', Format('%d', [AlbumID]));
      ImageStream.AddFormField('g2_form[caption]', Caption);
      ImageStream.AddFormField('g2_form[force_filename]', ImageFilename);
      ImageStream.AddFormField('g2_form[extrafield.Summary]', Summary);
      ImageStream.AddFormField('g2_form[extrafield.Description]', Description);

      ImageStream.AddObject('g2_userfile', 'image/jpeg', Image, ImageFilename);

      Response := HTTPClient.Post('http://mygallery.com/main.php?g2_controller=remote:GalleryRemote', ImageStream);
    finally
      ImageStream.Free;
    end;
  finally
    HTTPClient.Free;
  end;
end;



3> skamradt..:

再次,Synapse TCP/IP库来救援.使用HTTPSEND例程HTTPPostURL.

function HttpPostURL(const URL, URLData: string; const Data: TStream): Boolean;

您的URL也是要发布的资源,URLDATA将是表单数据,您的XML结果将作为DATA中的流返回.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有