使用C++Builder,我需要创建一个小型应用程序,从远程站点上的PHP文件中获取一些信息。
我有一个正确设置的TRESTClient
、TRESTRequest
和TRESTResponse
。
在Windows 32位下编译,我可以重复执行下面的函数并获取数据。
然而,下面的代码是为Android 32位编译的,仅在第一次工作时从服务器返回数据。任何后续点击按钮重新进入功能都会导致生成错误:
服务器证书无效或不存在
服务器证书上有一个相关的帖子无效或不存在,但没有任何帮助。
因此,在Windows上,这个简单的代码一次又一次地工作得很好,但在失败之前,在Android上只工作过一次。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
RESTRequest1->Resource = "";
RESTRequest1->Method = TRESTRequestMethod::rmPOST;
RESTRequest1->Response = RESTResponse1;
RESTRequest1->Response->ContentType = "application/json";
RESTRequest1->Response->ContentEncoding="UTF-8";
RESTRequest1->Execute();
Memo1->Lines->Add(RESTResponse1->Content);
不知道如何绕过这个错误。
我遇到了同样的问题。我能够通过在每次需要执行请求时动态创建一个新的TRestClient对象来解决这个问题,并将该请求的客户端分配给新创建的TRestClient对象。