一种选择,使用我们的mORMot开源框架的某些部分:
uses SynCrtSock, SynCommons;
var t: variant;
begin
TDocVariant.New(t);
t.name := 'john';
t.year := 1982;
TWinHTTP.Post('http://servername/resourcename',t,'Content-Type: application/json');
end;
Run Code Online (Sandbox Code Playgroud)
请注意,您可以在此处使用自定义variant存储构建JSON内容,该存储在发送到服务器时将转换为JSON文本.
您只需使用Indy的TIdHTTP组件并调用该Post方法即可.将URL作为第一个参数传递,将JSON字符串作为第二个参数传递.像这样的东西:
procedure TForm1.Button1Click(Sender: TObject);
var
jsonToSend: TStringList;
http: TIdHTTP;
begin
http := TIdHTTP.Create(nil);
try
http.HandleRedirects := True;
http.ReadTimeout := 5000;
jsonToSend := TStringList.create;
try
jsonToSend.Add('{ Your JSON-encoded request goes here }');
http.Post('http://your.restapi.url', jsonToSend);
finally
jsonToSend.Destroy;
end;
finally
http.Destroy;
end;
end;
Run Code Online (Sandbox Code Playgroud)
我假设您已经能够对JSON进行编码和解码,而您只是在询问如何使用Delphi执行HTTP帖子.
| 归档时间: |
|
| 查看次数: |
23662 次 |
| 最近记录: |