Fiddler解析重复的响应头键

时间:2016-03-15 06:47:08

标签: fiddler

来自服务器的http响应包含此类标头。

Set-Cookie: A=AValue
Set-Cookie: B=BValue

当我尝试使用以下代码从Fiddler脚本获取值时:

oSession.oResponse["Set-Cookie"]

我只得到第一个,A = AValue。

即使密钥重复,您知道如何获取这些值的完整列表吗?

1 个答案:

答案 0 :(得分:1)

您可以使用headers oResponse属性来获取完整集合,然后枚举每个集合并找到它们。在C#中:

var headers = oSession.oResponse.headers.Where(h => h.Name == "Set-Cookie").ToList();

以下是如何在JScript.NET(Fiddler脚本)中执行此操作:

var headers = [];
var enumerator = oSession.oResponse.headers.GetEnumerator();
while(enumerator.MoveNext()) {
    var current = enumerator.Current;
    if (current.Name.ToLower() === "set-cookie") {
        headers.push(current.Value);
    }
}
enumerator.Dispose();

为了解释,这会循环遍历所有标头,检查名称,如果标头的名称匹配,则将值推送到headers数组。在while循环后,headers数组将包含Set-Cookie标题的所有值。