使用 TRESTRequest 时客户端未指定证书

2023-12-29

使用 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(使用前将#替换为@)

使用 TRESTRequest 时客户端未指定证书 的相关文章

  • 如何仅在调试模式下激活 ReportMemoryLeaksOnShutdown?

    我需要激活ReportMemoryLeaksOnShutdown报告应用程序内存泄漏的功能 但仅限于调试模式 当 Delphi IDE 运行时 我怎样才能做到这一点 如果您的意思是使用调试构建配置 D2007 编译的 调试模式 则您将定义
  • Delphi TImageList 位图更改

    我正在使用 Delphi XE2 Update 3 Update 4 与我们的一些第 3 方组件不兼容 因此我们尚未更新 我在我的应用程序中使用 TImageList 我注意到很多时候当它从源视图切换到表单视图 F12 时 突然之前未修改的
  • Laravel 中的 PATCH Ajax 请求

    是否可以向 Laravel 发出 Ajax PATCH 请求 或者我是否仅限于 POST Laravel 在输入隐藏字段中使用 PATCH 但是 我没有使用表单元素 只是在单击时 通过 Ajax 请求 应该部分更新记录的按钮 这条路线会是什
  • 如何避免使用 WinApi.Windows 的 Delphi 应用程序中的 dll 劫持

    Delphi 最新版本使用各种系统 dll 的静态链接 例如 WinApi Windows 单元中的 version dll 这会导致在单元初始化之前加载 version dll 这会打开一个安全漏洞 可以通过将受感染的 version d
  • iPhone RESTful Web 服务

    然而 甚至不确定标题是否正确 我想做的是使用标准 NSURLConnection 类来处理调用我的 web 服务的响应 我使用 POST 方法更新数据库 使用 GET 方法从数据库检索行 我遇到的问题是这两个操作可能同时发生 因此处理请求的
  • 在运行时按需更改组件类

    我的问题与这里的想法类似 替换delphi中的组件类 https stackoverflow com q 4685863 937125 但我需要改变一个specific按需组件类 这是一些伪演示代码 unit Unit1 TForm1 cl
  • 找不到可接受的代表

    我是 Spring Boot 的新手 我可能会犯一些愚蠢的错误 所以提前对此类问题表示歉意 我正在尝试编写接受以下 JSON 的 POST API id null a 1 3 b somestring mapJson monday 10 0
  • 如何在没有可用行选择器的情况下为 APEX 21.1 REST 数据源设置数据配置文件

    我正在使用 APEX 21 1 并为 Web 服务创建了一个 REST 数据源 该服务以以下格式返回响应 1499040000000 A time stamp 0 01634790 A value etc 1499040000100 A t
  • 为移动应用程序创建 API - 身份验证和授权

    Overview 我正在寻找为我的应用程序创建一个 REST API 最初 主要目的是供移动应用程序 iPhone Android Symbian 等 使用 我一直在研究基于 Web 的 API 的身份验证和授权的不同机制 通过研究其他实现
  • 如何向最终用户隐藏 REST API Url?

    是否可以隐藏我通过 AJAX 用于填充页面数据的 REST URL 我不希望其他人从我的 REST API 获取和使用 但需要使用它在我的网站中显示内容 如何向最终用户隐藏我的 REST API URL 无法在 JavaScript 中向最
  • Async InputQuery 不处理“取消”按钮

    我正在使用一个简单的调用TDialogServiceAsync InputQuery 使用单个输入 它只是忽略了Cancel按钮和窗口的X关闭按钮 But the Ok按钮工作正常 这是我的代码 uses FMX DialogService
  • 如何使用放心获取 Rest API 中的授权令牌?是否可以?

    目前使用 Postman 我必须向 API URL login 发送请求 并传递用户名和密码 作为回报 我得到令牌 如下所示 请求示例 login POST Body username admin password admin Return
  • 如何使用 JAXRS 和 JAXB 设置 Restlet 服务器?

    我一直在互联网上查找 试图找到如何执行此操作的示例 我只是想设置一个 REST 服务器 它自动将对象序列化到 XML 或从 XML 序列化对象 我只是想提供一个服务器 以便于用户登录 注销以及仅在用户登录后访问 XML 对象列表 启动并运行
  • 德尔福数据结构

    我可能需要在 Delphi 中做一个项目 并且是该领域的初学者 目前 我正在网上搜索资源 但由于资源站点太少而感到困惑 首先 你能给我一些好的网站 其中包含我迄今为止错过的 Delphi 资源吗 我也在 Delphi 中搜索数据结构 想知道
  • 如何仅使用 TADOQuery 组件将图像插入数据库

    我有一个简单的基本问题 我正在尝试使用将图像插入数据库Insert与其他列值的语句也使用TADOQuery成分 由于代码已经由某人编写 因此我想在此处放置一些虚拟示例代码 以供您澄清相应的步骤 请注意 这可以正常工作TQuery组件 因为我
  • RESTful API:仅用于验证的方法/标头组合

    我希望我的 API 有一个仅验证请求 例如 如果我有一个 URL 例如 http api somesite com users 12345 用户正在客户端上填写一份信息表单 我最终会将其修补 放置 发布到该资源 当用户填写表单时 我可能希望
  • 外部依赖错误的 HTTP 状态代码

    当服务器与外部 API 通信出现问题时 返回的正确 HTTP 状态代码是什么 假设客户端向我的服务器 A 发送有效请求 然后 A 查询服务器 B 的 API 以便执行某些操作 然而 B 的 API 当前抛出 500 错误或因某种原因无法访问
  • TOpenDialog/NSOpenPanel 无法在沙盒 Delphi 应用程序中工作

    Firemonkey 应用程序中的 TOpenDialog 似乎存在问题 该应用程序已针对 Mac Appstore 进行沙箱处理 我使用XE3 但它也存在于XE2中 我其实在这里找到了一份QC报告 但仍然没有解决 http qc emba
  • 不断断点?如何去除它们?

    我下载了一个用Delphi 2009制作的项目 这也是我使用的 但是有一个断点我无法删除 如果我尝试删除它 它会在程序执行后再次执行 我在其他调试器中遇到了这样的事情 称为硬件断点 但这并不重要 如何删除断点 EDIT Article ht
  • 具有 csOwnerDrawFixed 样式的组合框如何表现得像 csDropDown 样式?

    我正在使用一个组合框 http docwiki embarcadero com Libraries en Vcl StdCtrls TComboBoxstyle 属性设置为的组件csOwnerDrawFixed 我实现了绘图项一切工作正常

随机推荐

  • 只保留使用过的类型并删除未使用的类型

    有什么方法可以从项目中删除未使用的类型 代码 假设我正在使用NAudio 源代码 在我的控制台应用程序中 我只使用WaveIn从中类 有什么方法可以让我从代码中删除未使用的类并只保留WaveIn班级和班级WaveIn取决于 沿着树摇晃的方向
  • verifyError:错误#1079:加载的代码中不允许使用本机方法

    我有一个用 AS3 编译的 Android iOS 应用程序 我遇到了问题 建议升级到 Flash Builder 4 7 从 4 6 开始 我这样做了 当我尝试使用新的 Air 3 4 运行时 出现以下错误 VerifyError Err
  • Pydev 代码覆盖结果不出现

    我已经设置了代码覆盖率以与 pydev 一起运行 但结果没有出现 下列的这个答案 https stackoverflow com questions 297294 integrating command line generated pyt
  • Rails 4 - Pundit - 如何编写范围

    我正在尝试学习如何将 Pundit 与 Rails 4 结合使用 过去 2 年我一直在尝试学习这一点 并且正在慢慢取得一点点进展 我也在尝试学习如何编写范围 我仍在尝试找出如何将建议翻译成简单的英语 以便我可以开始理解 我陷入了专家策略使用
  • 如何在Python中按字典的值对字典列表进行排序?

    如何按特定键的值对字典列表进行排序 鉴于 name Homer age 39 name Bart age 10 当排序时name 它应该变成 name Bart age 10 name Homer age 39 The sorted htt
  • Web API 和 Web 服务有什么区别?

    有什么区别吗web API and a 网络服务 或者它们是同一个吗 Web 服务通常提供WSDL https en wikipedia org wiki Web Services Description Language您可以从中自动创建
  • 我如何搜索过去 x 天内创建的 Github 问题?

    Also 在这里问 https stackoverflow com questions 38729663 how do i search github issues created in the last seven days但在 2016
  • 给定二进制 MxN 矩阵和切换列的能力,最大化行相同性?

    如果你有一个由 1 和 0 组成的二进制矩阵 并且能够切换列 将列中的所有 1 更改为 0 将所有 0 更改为 1 那么如何找到所有可能的 纯 行的最大数量列切换的组合 纯 表示该行全为 0 或全为 1 Ex 1 0 1 0 1 1 您可以
  • 使用 XML 字符串序列化 XML

    我必须生成以下 XML
  • Context.startForegroundService() 然后没有调用 Service.startForeground()

    我在用ServiceAndroid O 操作系统上的类 我计划使用Service在后台 The 安卓文档 https developer android com guide components services StartingAServ
  • Azure 网站上的 .NET CORE 3.1:500.37 ANCM 无法在启动时间限制内启动

    我有 NET Core 3 1 API 部署在 Azure Web 应用程序服务中 由于错误 我在 Azure 中运行应用程序时遇到问题500 37 ANCM在启动时间内启动失败 https learn microsoft com en u
  • 渲染(重绘)不可见的画布

    我的选项卡式应用程序在每个页面上都有一个单独的画布 上面有不同的用户控件 像这样 http svetiksch spb ru tmp stack01 png 现在我需要将所有页面 画布 保存到图像 代码是这样的 public static
  • 如何判断我是处于编辑状态还是创建状态?蛋糕PHP

    我有一个模型 需要在保存之前进行一些处理 或在某些情况下进行编辑 但通常在简单编辑时不需要 事实上 如果我对大多数编辑进行处理 结果字段将是错误的 现在 我正在模型的 beforeSave 回调中工作 如何判断我是来自编辑还是添加 弗兰克
  • 处理大型 DOM 元素时加速 jQuery empty() 或 ReplaceWith() 函数

    首先 我为没有提供代码片段表示歉意 我正在从事的项目是专有的 恐怕我无法展示exactly我正在做什么 不过 我会尽力进行描述 以下是我的应用程序中发生的情况的细分 用户单击按钮 服务器以数据表的形式检索图像列表 Each row in t
  • 如何让某人的个人资料图片显示给他们?

    我如何才能将某人的个人资料图片显示给我 我已经获得使用用户图片等的权限 我只是不知道如何使用他们的个人资料图片并将其显示给他们 任何帮助都是极好的 调用Graph API http graph facebook com id picture
  • 保留文本区域中的换行符

    我有一个带有文本区域的表单 我想在输出内容时保留用户输入的换行符 例如 如果我在 textarea 中写入 这里有一句话 这是另一个 这里还有一个 这是一个新段落 这是一个新句子 这是另一个 我想要相同的输出not 这里有一句话 这是另一个
  • 它说 TypeError: document.getElementById(...) 为 null [重复]

    这个问题在这里已经有答案了 虽然我向 getElementById 推送了一个参数 但我想知道这个 is null 错误来自哪里 TypeError document getElementById is null Break On This
  • gcc 编译器无法识别 -fno-plt 选项

    我正在尝试使用 Amazon Linux AMI 在 Amazon EC2 实例上编译 QuantLib Python SWIG 绑定 我已成功编译 QuantLib 本身 但是 当尝试编译 anaconda python swig 绑定时
  • 如何从java调用c++功能

    我有一个主要是 GUI 的 Java 程序 它显示从 C 命令行工具写入 xml 文件的数据 现在我想在java程序中添加一个按钮来刷新数据 这意味着我的程序必须调用 C 功能 通过系统调用从 java 调用程序的最佳方法是 c 程序将为
  • 使用 TRESTRequest 时客户端未指定证书

    使用 SSL URL 调用我们的内部服务器之一时 TRESTClient 和 TRESTRequest 给出错误 首先来自异常类 ENetHTTPCertificateException 然后来自 ERESTException 并显示消息