我想知道以下是否可行:
作为 ASP.Net 页面请求的 PageLoad 的一部分:
- 使用 HttpWebRequest (POST) 向表单例份验证发出请求 不同网络应用程序的网页
- 检查响应以查看身份验证是否成功(如果已设置身份验证 cookie,则可识别)
- 如果失败,则完成 ASP.Net 页面请求,这将显示一条消息,指出“无法自动登录”或类似内容
- 如果成功,则不完成 ASP.Net 页面生命周期,而是使用“Response.Write”将来自 HttpWebRequest 的响应发送回浏览器(因此实质上显示来自 HttpWebRequest 的网页)
如果上述可行,那么是否还有一种方法可以将身份验证 cookie 从 HttpWebResponse 传输到请求浏览器?我的直觉可能不是——但如果是这种情况,那么代理服务器如何处理此类事情?这不正是他们正在做的事情吗?
感谢您的帮助
最佳答案
您可以添加 CookieContainer到 HttpWebRequest .它将存储从响应中收到的任何 cookie,如果您将相同的 cookie 容器附加到下一个请求,它将把这些 cookie 发送回服务器。
您可以访问此 CookieContainer 对象的内容,并使用 Response.Cookies 将这些内容发送回您的客户端。
关于asp.net - .Net System.Net.HttpWebRequest 和身份验证 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2695596/