使用 SSL URL 调用我们的内部服务器之一时,TRESTClient 和 TRESTRequest 给出错误
首先来自异常类 ENetHTTPCertificateException,然后来自 ERESTException,并显示消息“来自客户端的未指定证书”
我知道后面使用了 WinInet Api,但是 Delphi Rest 库中没有本地方法来设置忽略证书错误的连接
- 我该如何编码?
or
这是否意味着服务器正在请求客户端证书?
function TdmoRestApi.GetSaLogin(var sErrorText: String): TLoginSvar;
var
LoginRoot: TLoginRootClass;
begin
Result := lsErrVilla;
RESTRequestLogin.Params.ParameterByName('TOKEN').value := FLoginToken;
RESTRequestLogin.Params.ParameterByName('X-CSRF-Token').value := 'Fetch';
try
RESTRequestLogin.Execute; //This call fails
except
on e: Exception do begin
sErrorText := e.ClassName + ' ' + e.message;
if RESTResponseLogin.StatusCode = 0 then
Exit(lsErrVilla);
end;
end;
case RESTResponseLogin.StatusCode of
200: begin
....
400: begin
....
end;
else begin
....
end;
FCsrfToken := RESTResponseLogin.Headers.Values['X-CSRF-Token'];
FLoginSvar := Result;
end;
我找到了解决你问题的方法。我遇到了同样的问题,但设法忽略证书验证:
在 RESTClient1 组件中,在事件内将以下标志设置为 false:
procedure TForm1.RESTClient1AuthEvent(const Sender: TObject; AnAuthTarget:
AuthTargetType; const ARealm, AURL: string; var AUserName, APassword:
string; ar AbortAuth: Boolean; var Persistence: TAuthPersistenceType);
begin
AbortAuth = True;
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)