You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi Tokyo 10.2.3中如何为THTTPRIO设置Bearer Token请求头?

在Delphi Tokyo 10.2.3中为THTTPRIO添加Bearer Token认证头

方法1:通过OnBeforeExecute事件动态添加

这种方式适合需要根据不同请求动态更新Token的场景,步骤如下:

  1. 在设计时为你的THTTPRIO组件绑定OnBeforeExecute事件;
  2. 在事件处理函数中添加以下代码:
procedure TYourForm.HTTPRIO1BeforeExecute(const MethodName: string; SOAPRequest: TStream);
var
  LWebNode: THTTPWebNode;
begin
  // 将WebNode转换为THTTPWebNode类型(Delphi 10.2.3默认使用此类型)
  LWebNode := HTTPRIO1.WebNode as THTTPWebNode;
  
  // 先移除已存在的Authorization头,避免重复添加
  LWebNode.Headers.Remove('Authorization');
  
  // 添加Bearer Token认证头,替换YourActualToken为你的有效Token
  LWebNode.Headers.Add('Authorization: Bearer ' + YourActualToken);
end;

方法2:初始化时直接设置Headers

如果Token在程序运行期间不会频繁变动,可以在初始化THTTPRIO时直接设置请求头:

procedure TYourForm.FormCreate(Sender: TObject);
var
  LWebNode: THTTPWebNode;
begin
  LWebNode := HTTPRIO1.WebNode as THTTPWebNode;
  
  // 清除原有头信息(可选,根据需求调整)
  LWebNode.Headers.Clear;
  
  // 添加Bearer Token
  LWebNode.Headers.Add('Authorization: Bearer ' + YourActualToken);
  
  // 可在此添加其他必要的请求头字段
end;

关键注意事项

  • 确认WebNode的类型为THTTPWebNode:Delphi 10.2.3中默认的SOAP传输节点就是该类型,若你使用了自定义WebNode,需对应调整类型转换;
  • Token有效性:若服务端的Bearer Token有过期时间,需在Token失效后重新获取并更新请求头;
  • 验证请求:可以使用抓包工具(如Fiddler)检查请求是否正确携带了Authorization: Bearer xxx头信息,确保配置生效。

内容的提问来源于stack exchange,提问作者Carlos Matos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 13:22:27