【发布时间】:2012-06-16 23:09:04
【问题描述】:
我使用的是 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;
【问题讨论】:
-
IIRC 你可以这样做:IdHttp1.Request.CustomHeaders.Value['Authorization'] := HeaderStr;等等所有“自定义标头”,不要忘记 SSL!
-
无论您使用
AddValue()还是Value[],字符串最终都会以TIdHeaderList.FoldAndInsert()结尾,这是字符串被解析、拆分并添加到列表的地方。
标签: delphi delphi-xe2 indy10