0

ユーザーがWebClientクラスを使用してxbox.comにログインできるようにするにはどうすればよいか疑問に思いました。これまでに次のコードがありますが、間違ったパスワードとユーザーの組み合わせのエラーが発生します。

NameValueCollection formData = new NameValueCollection();
        formData["login"] = "username";
        formData["passwd"] = "pass";

        string url = "https://login.live.com/ppsecure/post.srf?wa=wsignin1.0&rpsnv=11&ct=1294985876&rver=6.0.5286.0&wp=MBI&wreply=https://live.xbox.com:443/xweb/live/passport/setCookies.ashx%3Frru%3Dhttp%253a%252f%252fwww.xbox.com%252fen-US%252f&lc=1033&cb=reason%3D0%26returnUrl%3Dhttp%253a%252f%252fwww.xbox.com%252fen-US%252f&id=66262&bk=1294986379";
        WebClient webClient = new WebClient();
        byte[] responseBytes = webClient.UploadValues(url, "POST", formData);
        string response = Encoding.UTF8.GetString(responseBytes);

       Response.Write(response);

ユーザーを認証するためにJavaScriptを実行する必要がありますか?また、Cookieの処理方法を教えてください。私はCookieContainersに精通していません。どうもありがとう。

4

1 に答える 1

0

しばらくの間、C#およびASP.NET MVCで動作するXbox.comログインスクリプトの実装がありましたが、最近、Xbox.comの最新の更新後に動作を停止しました。現在、PHPとcURLを使用してスクレイピングを実行しており、Neo4jPHPを使用してNeo4jにデータを永続化しています。ここで、Neo4jClientを使用してC#からデータにアクセスできます。これは少し複雑な方法ですが、C#クライアントを再び機能させることができるようになるまで、当面は機能します。秘訣は、サーバーからCookieを適切に送受信して、要求間でセッション情報が保持されるようにすることです。

于 2013-07-16T12:50:51.150 に答える