Domanda

Mi chiedevo come avrei potuto consentire agli utenti di accedere al xbox.com utilizzando la classe WebClient. Ho il seguente codice finora, ma ottengo un errore combinazione di password / utente errato.

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);

Ho bisogno di eseguire alcuni javascript per autenticare l'utente? Inoltre, per favore fatemelo sapere come devo gestire i cookie. Io non sono a conoscenza CookieContainers. Grazie molto.

È stato utile?

Soluzione

Ho avuto un'implementazione di uno script di login Xbox.com lavorare in C # e ASP.NET MVC per un po ', ma ha recentemente smesso di funzionare dopo l'ultimo aggiornamento Xbox.com. Ora sto utilizzando PHP e cURL per eseguire la raschiatura e sto persistere i dati a Neo4j utilizzando Neo4jPHP dove posso accedervi da C # utilizzando Neo4jClient. E 'un po' di un metodo di contorto, ma funziona per il momento fino a quando posso avere il mio client C # a lavorare di nuovo. Il trucco è quello di inviare in modo appropriato / ricevere cookies dal server in modo che le informazioni sulla sessione è mantenuto tra le richieste.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top