如何使用synapse lib发送带有http帖子的json字符串?

时间:2013-06-21 07:31:06

标签: json delphi http post synapse

我正在使用synapse lib,我想通过http post将字符串发送到PHP Api。

这是我最后的json字符串,我希望通过http post发送到API。

{"os":"Windows7", "architecture":"64", "date":"20.06.2013", "version": "3.22", "name":"TestVM-PC"}

var sSendString: String;
sSendString := '{"os":"Windows7", "architecture":"64", "date":"20.06.2013", "version": "3.22", "name":"TestVM-PC"}';

我发现这个示例过程发布了参数,但我不知道如何正确地将一个JSON字符串(sSendString)发送到API。

procedure HTTPPost;
var URL: string;
    Params: string;
    Response: TMemoryStream;

begin
  Response := TMemoryStream.Create;

  try
    URL := 'http://testserver.com/api/add_customer';

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

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

  finally
    Response.Free;
  end;
end;

所以有人可以帮我修复我的问题并显示我必须更改哪些行以将我的json字符串发送到API。在此先感谢

1 个答案:

答案 0 :(得分:1)

我也在项目中使用了synapse。为了使我的工作简单快捷,使用Synapse,我编写了THTTPSendEx类,它提供了快速的使用速度和最少的代码以及更多的功能。 目前它是测试版。

像Indy这样的观点。

创建THTTPSendEx类。 从它原型创建方法OnBeginWork,OnWork,OnWorkEnd(参见pas文件),并将其分配给创建的类。 这就是表示HTTP请求进度所需的所有内容,只需调用该类的GET,POST函数即可。 类也有非常简单的“INDY like”,GET方法,具有许多各种输入和输出数据类型的POST请求。试试吧。

You can see it at my web-site

如果您对此有任何想法,请将其作为对项目页面的评论。

对不起英文错误。