1

HttpRequest/HttpResponse を介して 1 つの Web とやり取りしたい。ただし、Web では 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 ブラウザーのオンライン ヘルプを参照してください。

別の 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 に答える