我有一个需要访问其他域的 web 服务的网页。由于浏览器中的跨域策略,我创建了一个服务器端服务作为代理。我正在使用服务器端 HttpWebRequest (.net) 来调用需要身份验证的 Web 服务并将 json 返回到 javascript。但是,我遇到了一些问题:
我目前正在硬编码用户名和密码,因为 HttpWebRequest 似乎没有让我提示输入用户名和密码的功能。没有用于登录的弹出对话框。那么,我可以像 XMLHttpRequest(javascipt 版本)一样强制 HttpWebRequest 提示输入用户名和密码吗?
由于第一个问题,我注意到我可能需要创建一个虚拟登录页面来获取用户名和密码,然后将请求发送到 Web 服务。如果成功,则表示登录凭据正确。然而,在这之后,我仍然有很多其他的网络服务请求。HttpWebRequest 的 cookie 似乎只持续该请求调用。它不存储在正常的本地 cookie 存储中。(我检查浏览器并没有找到它)。如何将 CookieContainer 内的 cookie 存储到 HttpContext.Current.Response.Cookies 中,这样我就不需要再次登录了。我不想通过附加 CookieContainer 来处理每个请求调用,因为有很多请求。