我正在尝试做的事情:
- 使用普通登录方法/页面登录到 Forms Auth MVC 网站
- 在我登录并在主页上后,我想向控制器发送一个 ajax 请求-> 使用 HttpWebRequest 对象请求网页的操作。
问题是我得到的响应是登录页面。这意味着 HttpWebRequest 不尊重我实际登录到该网站的事实。
问题是我需要读取系统上的本地 cookie 并将它们与我的请求一起发送。下面的 cookie 容器是空的。所以,我所要求的只是一种用我机器上的任何 cookie 填充 CookieContainer 的方法。
CookieContainer cookies = new CookieContainer();
String URL = "http://mysite.com/pages/fakepage.aspx";
HttpWebRequest webRequest = WebRequest.Create(URL) as HttpWebRequest;
webRequest.AllowAutoRedirect = true;
webRequest.CookieContainer = cookies;
StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();
上面的 responseData 包含登录页面:(