Delphi:NetHttpClient-如何为XML请求添加/编辑/删除头值
我正在使用Delphi10.2将XML服务器集成到客户机应用程序(VCL)中。我不能使用Indy HTTP,因为我正在使用的(外部第三方)服务器正在使用SSL,Indy对所需的OpenSLL DLL有一些问题,我没有重新分发许可证 因此,我现在不得不使用“新的”DelphiNetHttpClient组件来尝试在该服务器上调用API函数。我似乎无法成功地用参数填充请求头,也无法读取单个NetHttpClient组件(在数据模块上)上任何可能存在的头值 这就是我迄今为止所尝试的:Delphi:NetHttpClient-如何为XML请求添加/编辑/删除头值,xml,webapi,delphi-10.2-tokyo,Xml,Webapi,Delphi 10.2 Tokyo,我正在使用Delphi10.2将XML服务器集成到客户机应用程序(VCL)中。我不能使用Indy HTTP,因为我正在使用的(外部第三方)服务器正在使用SSL,Indy对所需的OpenSLL DLL有一些问题,我没有重新分发许可证 因此,我现在不得不使用“新的”DelphiNetHttpClient组件来尝试在该服务器上调用API函数。我似乎无法成功地用参数填充请求头,也无法读取单个NetHttpClient组件(在数据模块上)上任何可能存在的头值 这就是我迄今为止所尝试的: procedure
procedure TfrmMain.CallAPI2;
var
Params : TStringlist;
URL, CertKey, CertSerial, CertSerialB64 : String;
ReqStream : TStream;
begin
URL := edtURL.Text;
CertKey := edtCERT.Text;
CertSerial := edtCertSerial.Text;
CertSerialB64 := IdEncoderMIME1.Encode(CertSerial);
ReqStream := TStream.Create;
memRequest.Lines.SaveToStream(ReqStream);
//REQUEST HEADER PARAMETERS
Params := TSTringlist.Create;
Params.Add('content-type=xml');
Params.Add('cert-serial=' + CertSerialB64);
Params.Add('client=webapi');
//CALL ACTUAL API FUNTION
memResponse.Text := DM1.REQ1.Post(URL, ReqStream, nil, TEncoding.UTF8, Params).ContentAsString;
Params.Free;
end;
如能提供以下方面的指导,我将不胜感激:
提前非常感谢 如果您觉得必须使用NetHttpClient组件,您可以随意使用ICS(Internet组件套件)。您可以使用Delphi GetIT下载它!或从下载。ICS仅支持OpenSSL 1.1.1。