Входить в систему на xbox.com, используя ASP.NET WebClient? - PullRequest
0 голосов
/ 14 января 2011

Мне было интересно, как я могу разрешить пользователям входить на xbox.com с помощью класса WebClient. Пока у меня есть следующий код, но я получаю неверный пароль / ошибка комбинации пользователя.

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 для аутентификации пользователя? Также, пожалуйста, дайте мне знать, как мне обращаться с куки. Я не знаком с CookieContainers. Большое спасибо.

1 Ответ

0 голосов
/ 16 июля 2013

У меня была реализация сценария входа на Xbox.com, работавшая некоторое время в C # и ASP.NET MVC, но недавно она перестала работать после последнего обновления Xbox.com. Сейчас я использую PHP и cURL для выполнения очистки и сохраняю данные в Neo4j, используя Neo4jPHP, где я могу получить к ним доступ из C #, используя Neo4jClient. Это немного запутанный метод, но пока он работает, пока я не смогу снова запустить мой клиент C #. Хитрость заключается в том, чтобы надлежащим образом отправлять / получать куки-файлы с сервера, чтобы информация о сеансе сохранялась между запросами.

...