【发布时间】:2012-01-14 01:44:57
【问题描述】:
我尝试使用 HttpWebRequest 实例对需要身份验证的 Web url 执行 POST(具有内置成员资格系统的 ASP.NET MV3 标准 [Authorize] 装饰操作方法),但提供登录和在HttpWebRequest 中作为NetworkCredentials 的密码没有成功。
我最终使用了一个全局 CookieContainer 和两个 HttpWebRequests:
- 将请求的
CookieContainer设置为globalCookieContainer。 - 将用户名和密码发布到登录 URL。 (在该步骤之后,容器仍然报告 Cookie 计数为 0)。
- 创建另一个
HttpWebRequest实例并将globalCookieContainer设置为请求的CoockieContainer。 - POST 到需要身份验证的最终 url。出于某种原因,这一次第二个请求对象将 cookie 作为请求的一部分提供并通过。
cookie 管理的整个“魔力”在任何地方都没有很好地描述(我真的试图四处搜索)。
我们已经涵盖了这种情况。但是在什么情况下应该使用HttpWebRequest.Credentials?
【问题讨论】:
标签: .net cookies httpwebrequest cookiecontainer