Fiddler 解析重复响应 header 键
Fiddler parse duplicate response header keys
来自服务器的 http 响应包含 headers。
Set-Cookie: A=AValue
Set-Cookie: B=BValue
当我尝试使用以下代码从 Fiddler 脚本获取值时:
oSession.oResponse["Set-Cookie"]
我只得到第一个,A=AValue
即使键重复,您知道如何获取这些值的完整列表吗?
您可以使用 headers
属性 关闭 oResponse
来获得完整的 collection,然后逐个枚举并找到它们。在 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();
解释一下,这会遍历所有 header,检查名称,如果 header 的名称匹配,它会将值推入 headers
数组. while
循环后,headers
数组将包含 Set-Cookie
header 的所有值。
来自服务器的 http 响应包含 headers。
Set-Cookie: A=AValue
Set-Cookie: B=BValue
当我尝试使用以下代码从 Fiddler 脚本获取值时:
oSession.oResponse["Set-Cookie"]
我只得到第一个,A=AValue
即使键重复,您知道如何获取这些值的完整列表吗?
您可以使用 headers
属性 关闭 oResponse
来获得完整的 collection,然后逐个枚举并找到它们。在 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();
解释一下,这会遍历所有 header,检查名称,如果 header 的名称匹配,它会将值推入 headers
数组. while
循环后,headers
数组将包含 Set-Cookie
header 的所有值。