5

我认为标题已经足够清楚了。我想知道如何使用参数/参数发送 HTTP POST 请求并接收 HTML 响应 - 使用 Delphi 的 Synapse 库。

4

1 回答 1

8

尝试使用HttpPostURL函数。

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

URL- 目标 URL
URLData- URL 参数;必须使用EncodeURLElement函数进行编码
Data- 目标流,将存储响应

以下示例使用发送两个 POST 参数的测试 POST 服务器。注意使用EncodeURLElement函数对参数数据进行编码。如果 POST 成功,服务器响应将保存到文件中。

uses HTTPSend, Synacode;

procedure TForm1.Button1Click(Sender: TObject);
var URL: string;
    Params: string;
    Response: TMemoryStream;

begin
  Response := TMemoryStream.Create;

  try
    URL := 'http://posttestserver.com/post.php?dump&html';

    Params := 'parameter1=' + EncodeURLElement('data1') + '&' +
              'parameter2=' + EncodeURLElement('data2');

    if HttpPostURL(URL, Params, Response) then
      Response.SaveToFile('c:\response.txt');

  finally
    Response.Free;
  end;
end;
于 2011-06-09T10:35:55.533 回答