【问题标题】:Capturing cookie responses in C#在 C# 中捕获 cookie 响应
【发布时间】:2011-03-24 12:15:27
【问题描述】:

在 C# 中使用 Web 浏览器控件或 http 请求,当网站创建(或尝试)cookie 时,有没有办法捕获和显示该 cookie?

【问题讨论】:

    标签: c# .net http cookies webbrowser-control


    【解决方案1】:

    当然,您可以使用 Fiddler 或 FireBug 等工具来捕获和检查会话期间发送的请求和响应。我对 Fiddler 比较熟悉,所以我的答案和示例都基于它。

    例如,如果我登录到我公司的 Outlook Web Access 门户,我输入我的用户名和密码,然后 OWA 客户端将会话 cookie 写入我的计算机。如果我在登录时运行 Fiddler,我可以看到由于成功登录,此 cookie 被写入服务器响应的一部分:

    **Cookies / Login**
      Set-Cookie: sessionid=d8ff0256-7339-4049-81c2-fae98f7c3ed5:0x409; path=/
    

    如果有更多的 cookie 被发送下来,您会看到它们列在 Cookies 组下。

    如果我单击所请求的资源(成功登录后转到的页面),然后单击 Fiddler 响应部分中的标题选项卡,我可以看到这些 cookie。

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      是的,cookie 在 Set-Cookie 标头中返回。您可以使用HttpWebResponse.Headers 集合来查看所有标题并读出cookie,或者也可以使用Cookies 集合为您包装它。

      【讨论】:

      • HttpWebResponse.Headers 不会为你包装它,如果 cookie 已经在响应中设置了 HttpOnly 属性。
      猜你喜欢
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 2011-09-25
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多