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