【问题标题】:How to send HTTP data and get response with Synapse (Delphi)如何使用 Synapse (Delphi) 发送 HTTP 数据并获得响应
【发布时间】:2011-09-11 14:14:11
【问题描述】:

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

【问题讨论】:

    标签: delphi http request http-post synapse


    【解决方案1】:

    尝试使用HttpPostURL函数。

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

    URL - 目标网址
    URLData - 网址参数;必须进行编码,例如使用 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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-05
      相关资源
      最近更新 更多