10

我正在使用 Delphi XE2 和 Indy 10.5.8.0。我有一个 TIdHttp 实例,我需要在请求中添加一个自定义标头。标头值中包含逗号,因此它会自动解析为多个标头。我不希望它那样做。我需要我的自定义标头的标头值仍然是一个字符串,而不是基于逗号分隔符拆分。

我试过设置IdHttp1.Request.CustomHeaders.Delimiter := ';'没有成功。有没有办法确保标题不会被拆分?

procedure SendRequest;
const HeaderStr = 'URL-Encoded-API-Key VQ0_RV,ntmcOg/G3oA==,2012-06-13 16:25:19';
begin
  IdHttp1.Request.CustomHeaders.AddValue('Authorization', HeaderStr);
  IdHttp1.Get(URL);
end;
4

1 回答 1

6

我无法使用最新的 Indy 10.5.8 SVN 快照重现此问题。您显示的字符串被分配为我的单行。

话虽如此,默认情况下该TIdHeaderList.FoldLines属性设置为 True,并且行会在空格和逗号字符上折叠,这样就可以解释为什么您的字符串会被拆分。据我所知,您的 Indy 版本和 SVN 中的最新版本之间的折叠算法没有任何逻辑更改。

于 2012-06-13T22:54:52.050 回答