2011-01-14 5 views
0

Ich frage mich, wie ich Benutzern erlauben könnte, sich mit der WebClient-Klasse bei xbox.com anzumelden. Ich habe den folgenden Code bisher, aber ich bekomme einen falschen Passwort/Benutzer-Kombinationsfehler.Benutzer auf xbox.com mit ASP.NET WebClient anmelden?

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

Muss ich Javascript ausführen, um den Benutzer zu authentifizieren? Bitte lass mich auch wissen, wie ich mit Cookies umgehen soll. Ich kenne CookieContainers nicht. Vielen Dank.

+0

Ich habe beschlossen, mich nicht darum zu kümmern, alle Leistungsdaten zu dieser Zeit zu bekommen. Ich lese gerade die öffentliche gamercard Seite und zeige das auf meiner Seite an. Ich werde sehen, ob ich bald offizielle Unterstützung von XBCDP bekommen kann. –

+0

Wenn jemand interessiert ist, habe ich einen Xbox Live Scraper, an dem ich arbeite. Sie können den Fortschritt in meinem Blog sehen: http://cameronjtinker.com/?tag=/xbox –

Antwort

0

Ich hatte eine Implementierung eines Xbox.com-Anmeldeskripts, das eine Weile in C# und ASP.NET MVC arbeitete, aber nach dem letzten Xbox.com-Update funktioniert es nicht mehr. Ich benutze jetzt PHP und cURL, um das Scraping durchzuführen, und ich behalte die Daten für Neo4j mit Neo4jPHP, wo ich mit C# mit Neo4jClient darauf zugreifen kann. Es ist ein bisschen eine komplizierte Methode, aber es funktioniert vorerst, bis ich meinen C# -Client wieder arbeiten lassen kann. Der Trick besteht darin, Cookies vom Server entsprechend zu senden/zu empfangen, so dass Sitzungsinformationen zwischen den Anfragen gespeichert werden.