我正在使用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;
答案 0 :(得分:5)
我无法使用最新的Indy 10.5.8 SVN快照重现此问题。您显示的字符串将被指定为我的单行。
据说,默认情况下,TIdHeaderList.FoldLines
属性设置为True,并且行以逗号和逗号字符折叠,这样就可以解释为什么你的字符串被拆分了。据我所知,您的Indy版本与SVN中的最新版本之间的折叠算法没有任何逻辑更改。