2011-01-27 87 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