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

Delphi中AddAuthParameter过程如何使用?REST请求授权问题求助

我来帮你搞定这个问题!你遇到的核心问题是Authorization头的格式不符合要求,正确的Bearer令牌格式应该是 Bearer <你的令牌内容>,而你直接把拼接后的令牌传进去,少了Bearer 这个前缀,服务器自然识别不了授权信息。

修正后的代码示例

下面是调整后的按钮点击事件代码,重点修正了授权头的构造方式:

procedure TForm1.Button1Click(Sender: TObject);
var
  auth1, auth2, auth3, auth4, auth5, auth6, auth7, auth8, auth9, auth10, authToken: string;
begin
  // 假设这些auth变量已经被正确赋值(比如从输入框/配置读取)
  authToken := auth1 + auth2 + auth3 + auth4 + auth5 + auth6 + auth7 + auth8 + auth9 + auth10;
  
  // 构造符合要求的Authorization头值:必须包含"Bearer "前缀(注意后面有空格)
  RestRequest4.AddAuthParameter('Authorization', 'Bearer ' + authToken, pkHTTPHEADER);
  
  // 执行请求,建议加上异常捕获方便排查问题
  try
    RestRequest4.Execute;
    ShowMessage('请求执行成功!');
  except
    on E: Exception do
      ShowMessage('请求失败:' + E.Message);
  end;
end;

额外注意事项

  • 务必保留空格:'Bearer '后面的空格是硬性要求,少了这个空格服务器会把整个字符串当成无效的授权格式
  • 检查令牌拼接正确性:可以在拼接后加一行ShowMessage(authToken);,确认拼接后的令牌没有多余字符、缺失内容
  • 避免重复添加参数:如果多次点击按钮,可能会重复添加Authorization头,建议在添加前先清除旧参数:
    RestRequest4.Params.Clear;
    
  • 组件关联检查:确保你的RestRequest4已经正确关联了RESTClient和RESTResponse组件,且RESTClient的BaseURL配置正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 17:28:10