Accesso utenti su xbox.com utilizzando ASP.NET WebClient?
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.
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.