我正在使用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。在此先感谢
答案 0 :(得分:1)
我也在项目中使用了synapse。为了使我的工作简单快捷,使用Synapse,我编写了THTTPSendEx类,它提供了快速的使用速度和最少的代码以及更多的功能。 目前它是测试版。
像Indy这样的观点。
创建THTTPSendEx类。 从它原型创建方法OnBeginWork,OnWork,OnWorkEnd(参见pas文件),并将其分配给创建的类。 这就是表示HTTP请求进度所需的所有内容,只需调用该类的GET,POST函数即可。 类也有非常简单的“INDY like”,GET方法,具有许多各种输入和输出数据类型的POST请求。试试吧。
如果您对此有任何想法,请将其作为对项目页面的评论。
对不起英文错误。