首页 > 解决方案 > 如何在 Delphi TRESTClient 组件上配置 tls

问题描述

直升机,

我输入了如下代码,这段代码运行良好。通过使用 https 连接,我希望收到的数据包数据不能被 Wireshark 或 Android 上的数据包捕获应用程序等应用程序读取。

你如何配置客户端?

这是我的代码

procedure TForm1.Button1Click(Sender: TObject);
var
  MyCompletionHandler: TCompletionHandler;
  MyErrorCompletionHandler: TCompletionHandlerWithError;
begin
  ShowLoadingIndicator(Self, True);
  Memo1.Lines.Clear;
  RESTClient1.BaseURL := 'https://reqres.in/';
  RESTClient1.RaiseExceptionOn500 := False;
  RESTClient1.SecureProtocols := [THTTPSecureProtocol.TLS12];
  RESTRequest1.ClearBody;
  RESTRequest1.Resource := 'api/users';

  MyCompletionHandler := procedure
      var i: Integer;
          tJson: TJSONValue;
    begin
      Label1.Text := 'Complete!';
      Memo1.Lines.Append('Header: ');
      for I := 0 to RESTResponse1.Headers.Count-1 do
        Memo1.Lines.Append(RESTResponse1.Headers.Strings[I]);
      Memo1.Lines.Append('');
      Memo1.Lines.Append('Body:');
      tJson := TJSONObject.ParseJSONValue(RESTResponse1.Content);
      try
        memo1.Lines.Append(REST.Json.TJson.Format(tJson));
      finally
        FreeAndNil(tJson);
      end;
      HideLoadingIndicator(Self);
    end;

  MyErrorCompletionHandler := procedure(AObject: TObject)
    begin
      Label1.Text := 'Error!';
      HideLoadingIndicator(Self);
    end;

  RESTRequest1.ExecuteAsync(MyCompletionHandler, True, True, MyErrorCompletionHandler);
end;

使用应用程序捕获结果数据包

和这个用火猴制作的简单应用程序: 简单应用程序

标签: androidiosdelphimobilefiremonkey

解决方案


推荐阅读