来自服务器的http响应包含此类标头。
Set-Cookie: A=AValue
Set-Cookie: B=BValue
当我尝试使用以下代码从Fiddler脚本获取值时:
oSession.oResponse["Set-Cookie"]
我只得到第一个,A = AValue。
即使密钥重复,您知道如何获取这些值的完整列表吗?
答案 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
标题的所有值。