Delphi Tokyo 10.2.3中如何为THTTPRIO设置Bearer Token请求头?
在Delphi Tokyo 10.2.3中为THTTPRIO添加Bearer Token认证头
方法1:通过OnBeforeExecute事件动态添加
这种方式适合需要根据不同请求动态更新Token的场景,步骤如下:
- 在设计时为你的
THTTPRIO组件绑定OnBeforeExecute事件; - 在事件处理函数中添加以下代码:
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
相关产品推荐
相关产品推荐

