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