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
相关产品推荐
相关产品推荐

