2011-01-27 40 views
1

我想通過HttpRequest/HttpResponse與一個網站進行交互。但是網絡需要通過Windows Live ID登錄。我轉到活動登錄頁面,但無法從登錄頁面獲得任何可用的響應。通過HttpRequest的Windows Live ID登錄

用於訪問登錄頁面的代碼:

var request = (HttpWebRequest)WebRequest.Create("http://login.live.com/"); 
request.Timeout = 30000; 
request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)"; 
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; 
request.Headers.Add("Accept-Language", "en-us,en;q=0.5"); 
request.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7"); 
request.Headers.Add("Keep-Alive", "300"); 
request.ContentType = "application/x-www-form-urlencoded"; 
request.CookieContainer = new CookieContainer(); 
request.Method = WebRequestMethods.Http.Get; 

var response = (HttpWebResponse)request.GetResponse(); 

和響應:

Cookies必須允許

您的瀏覽器當前設置爲阻止Cookie。 您的瀏覽器必須允許在您使用Windows Live ID的 之前的cookie。

Cookies是存儲 您計算機上的小文本文件,告訴的Windows Live ID 站點和服務,當你在 簽署。要了解如何讓 餅乾,看在你的網頁瀏覽器 在線幫助。

我對其他網頁上的cookies沒有問題,我找不到任何方法,如何克服此消息。

你有沒有想法,如何解決它? 謝謝!

回答

0

嘗試設置CookieContainer對象的容量屬性。

.... 
request.CookieContainer = new CookieContainer(1000); 
+0

沒有任何變化:/。 – TcKs 2011-01-27 11:01:35