跨多个HTTPWebRequest调用(.net)保留cookie

时间:2012-12-13 09:42:59

标签: web-services cookies httpwebrequest cross-domain cookiecontainer

我有一个网页需要访问其他域的webservice。由于浏览器中的跨域策略,我创建了一个服务器端服务作为代理。我正在使用服务器端HttpWebRequest(.net)来调用需要身份验证的Web服务并将json返回给javascript。但是,我遇到的问题很少:

  1. 我目前正在硬编码用户名和密码,因为HttpWebRequest似乎没有任何功能允许我提示输入用户名和密码。登录没有弹出对话框。那么,我可以强制HttpWebRequest提示输入用户名和密码,就像XMLHttpRequest(javascipt版本)一样吗?

  2. 由于第一个问题,我注意到我可能需要创建一个获取用户名和密码的虚拟登录页面,然后向Web服务发送请求。如果成功,则表示登录凭证正确。但是,在此之后,我仍然有很多其他请求到Web服务。 HttpWebRequest的cookie似乎只能用于该请求调用。它不存储在正常的本地cookie存储中。 (我检查浏览器,但没找到它)。如何将CookieContainer中的cookie存储到HttpContext.Current.Response.Cookies中,以便我不需要再次登录。我不希望通过附加CookieContainer处理每个请求调用,因为有很多请求。

0 个答案:

没有答案