通过HttpRequest登录Windows Live ID

时间:2011-01-27 09:28:19

标签: c# .net cookies httprequest windows-live-id

我希望通过HttpRequest / HttpResponse与一个网站进行互动。但是网络需要通过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();

回复:

  

必须允许使用Cookie

     

您的浏览器目前已设置为阻止Cookie。   您的浏览器必须先允许使用Cookie   您可以使用Windows Live ID。

     

Cookie是存储在其上的小型文本文件   您的计算机告诉Windows Live   ID网站和服务   登录。了解如何允许   cookies,请参阅网络上的在线帮助   浏览器。

我在其他网页上使用Cookie没有任何问题,我找不到任何方法,如何克服此消息。

你有没有想法,怎么解决? 谢谢!

2 个答案:

答案 0 :(得分:0)

尝试为CookieContainer对象设置capacity属性。

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

答案 1 :(得分:0)

我找到了一个关于如何使用C#访问Windows Live ID并构建客户端的完整教程。

请在此处阅读:http://www.devarticles.com/c/a/C-Sharp/Hotmail-Exposed-Access-Hotmail-using-C-sharp/