0

什麼,我試圖做我連登錄:HtppWebRequest重定向當我登錄

  1. 登錄到一個窗體身份驗證MVC網站使用正常的登錄方法/頁
  2. 我登錄後和我在主頁上,我想發送一個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上面包含登錄頁面:(

+0

看到它在鉻,如果鉻顯示你仍然登錄。我會懷疑你的路由 –

回答

0

這裏是答案的人堅持了同樣的問題的問題。如果你在下面注意到的,我剛剛從Request對象讀取餅乾並填充我的CookieContainer與它。這需要照顧所有的問題!

CookieContainer cookies = new CookieContainer(); 
    webRequest.CookieContainer = cookies; 
    for(int i=0; i<Request.Cookies.Count; i++) 
     webRequest.CookieContainer.Add(new Cookie(Request.Cookies[i].Name, Request.Cookies[i].Value, Request.Cookies[i].Path, FormsAuthentication.CookieDomain));