1

我想通过 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。在您使用 Windows Live ID 之前,您的浏览器必须允许 cookie。

Cookie 是存储在您计算机上的小型文本文件,当您登录时会告知 Windows Live ID 站点和服务。要了解如何允许 cookie,请参阅 Web 浏览器中的在线帮助。

我对其他网页上的 cookie 没有任何问题,但我找不到任何方法,如何克服此消息。

你有任何想法,如何解决它?谢谢!

4

2 回答 2

0

尝试为 CookieContainer 对象设置容量属性。

....
request.CookieContainer = new CookieContainer(1000); 
于 2011-01-27T09:49:14.787 回答
0

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

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

于 2011-01-27T13:00:28.140 回答