http - 如何使用 Synapse (Delphi) 发送 HTTP 数据并获得响应

标签 http delphi request http-post ararat-synapse

我觉得标题够清楚了。 我想知道如何使用 Delphi 的 Synapse 库发送带有参数/自变量的 HTTP POST 请求并接收返回的 HTML 响应。

最佳答案

尝试使用HttpPostURL功能。

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

URL - 目标 URL
URLData - URL 参数;必须编码,例如使用 EncodeURLElement函数
Data - 目标流,将存储响应的位置

以下示例使用 testing POST server发送两个 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;

关于http - 如何使用 Synapse (Delphi) 发送 HTTP 数据并获得响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291381/

相关文章:

ruby-on-rails - 使用 ruby​​ 2.5.3 在特定站点上发出获取请求时出现超时错误

Java - 在不等待关闭的情况下将连续的 InputStream 转换为 String

python - 在 Python 中发送 100,000 个 HTTP 请求的最快方法是什么?

delphi - 关闭TAdoconnection后如何在组合框或dbgrid中维护数据库输出

javascript - Go Echo 没有从 Vue 获取 POST 正文

delphi - delphi中的图像缓冲区实现

delphi - Delphi系统单元中的TMonitor有什么用?

java - 如何正确地将请求发送到处理某些数据并发回文件的 Web 服务器

node.js - nodejs - 证书已过期

php - apache php > 用户请求