[WebRequest]Fifa Ult. 2013 Webapp Login Problem

05/17/2013 20:33 roteisenklinge#1
Hallo meine Lieben,
ich arbeite seit einiger Zeit an einem Login Script für Fifa 2013 bzw für die Webapp.

Die Frage richtet sich dann eigentlich nur an die jenigen, die damit schon Erfahrungen gemacht haben.

Habe mir die HttpHeader angeschaut und diese Nachgebaut. Habe auch Ahnung davon ( Facebook Like Login Auslese usw Script)

Dummerweise bin ich bei der Webapp auf ein Problem gestoßen.

Theoretisch basiert der Login auf 3 Phasen

[Only registered and activated users can see links. Click Here To Register...]

Post: "email=" & account_email_login & "&password=" & account_pw_login & "&stay-signed=ON"

Normalerweise müsste mir als Response jetzt ein im JSon Format String kommen, laut meinen Headern in etwas so:


{ "isReadOnly": false, "sku": "zahl", "clientVersion": 3, "nuc": zahl, "nucleusPersonaId": zahl, "nucleusPersonaDisplayName": "name", "nucleusPersonaPlatform": "plattform", "locale": "de-DE", "method": "idm", "priorityLevel":4, "identification": { "EASW-Token": "" } }


Dummerweise kommt :


1 79919113 2826625076 [Only registered and activated users can see links. Click Here To Register...] 108002203name88cem_ea_id


Die weiteren Schritte Auth mit dem String oben den ich nicht habe sowie Sicherheitsfragen Hash funktionieren nicht, da es vorher schon nen fehler.

Über ein Paar Tipps eure Hilfe wäre ich dankbar!
05/17/2013 20:43 'Heaven.#2
Poste mal deinen code, sonst kann man dir nicht helfen :)
05/17/2013 20:43 b0tterk2#3
Hier mal nur der Login (Funktioniert bei mir) :
Code basiert vom Code von Kraizy.

Code:
request = DirectCast(HttpWebRequest.Create("https://www.ea.com/de/fussball/services/authenticate/login"), HttpWebRequest)
        request.Method = "POST"
        request.CookieContainer = cookieCon
        request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0"
        request.ContentType = "application/x-www-form-urlencoded"
        request.Referer = "http://www.ea.com/de/fussball/login"
        request.Host = "www.ea.com"
        request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"

        Dim Email As String = TextBox1.Text
        Email = Replace(Email, "@", "%40")

        Dim post As String = "redirectUrl=http%3A%2F%2Fwww.ea.com%2Fde%2Ffussball%2F&failureUrl=http%3A%2F%2Fwww.ea.com%2Fde%2Ffussball%2Flogin%3Ffailed%3Dtrue%26redirectUrl%3Dhttp%253A%252F%252Fwww.ea.com%252Fde%252Ffussball%252F&captchaFailureUrl=http%3A%2F%2Fwww.ea.com%2Fde%2Ffussball%2Flogin%3Ffailed%3Dtrue%26redirectUrl%3Dhttp%253A%252F%252Fwww.ea.com%252Fde%252Ffussball%252F&email=" & TextBox1.Text & "&password=" & TextBox2.Text

        Dim byteArr() As Byte = Encoding.Default.GetBytes(post)
        request.ContentLength = byteArr.Length

        Dim dataStream As Stream = request.GetRequestStream()
        dataStream.Write(byteArr, 0, byteArr.Length)

        Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
        Dim reader As New StreamReader(response.GetResponseStream())

        Dim Text As String = reader.ReadToEnd()

        If Text.Contains("logout") Then
            Datenholen()
        Else
            MessageBox.Show("Logindaten sind falsch")
        End If
05/17/2013 20:49 dready#4
Und du bist dir Sicher das du nicht einfach versuchst etwas nachzubauen ohne es vorher Gescheit angesehn zu haben ?
Sorry :P, konnts mir nicht verkneifen
Du bekommst was du erwartest

sucesse, id, nucleusid, email, preferredPersonaID, preferredPersonagamerTag, preferredPersonaplatform
Das ganze ist xml wenn ichs gerad richtig im Kopf hab
05/17/2013 21:10 roteisenklinge#5
Quote:
Originally Posted by b0tterk2 View Post
Hier mal nur der Login (Funktioniert bei mir) :
Code basiert vom Code von Kraizy.

Code:
request = DirectCast(HttpWebRequest.Create("https://www.ea.com/de/fussball/services/authenticate/login"), HttpWebRequest)
        request.Method = "POST"
        request.CookieContainer = cookieCon
        request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0"
        request.ContentType = "application/x-www-form-urlencoded"
        request.Referer = "http://www.ea.com/de/fussball/login"
        request.Host = "www.ea.com"
        request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"

        Dim Email As String = TextBox1.Text
        Email = Replace(Email, "@", "%40")

        Dim post As String = "redirectUrl=http%3A%2F%2Fwww.ea.com%2Fde%2Ffussball%2F&failureUrl=http%3A%2F%2Fwww.ea.com%2Fde%2Ffussball%2Flogin%3Ffailed%3Dtrue%26redirectUrl%3Dhttp%253A%252F%252Fwww.ea.com%252Fde%252Ffussball%252F&captchaFailureUrl=http%3A%2F%2Fwww.ea.com%2Fde%2Ffussball%2Flogin%3Ffailed%3Dtrue%26redirectUrl%3Dhttp%253A%252F%252Fwww.ea.com%252Fde%252Ffussball%252F&email=" & TextBox1.Text & "&password=" & TextBox2.Text

        Dim byteArr() As Byte = Encoding.Default.GetBytes(post)
        request.ContentLength = byteArr.Length

        Dim dataStream As Stream = request.GetRequestStream()
        dataStream.Write(byteArr, 0, byteArr.Length)

        Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
        Dim reader As New StreamReader(response.GetResponseStream())

        Dim Text As String = reader.ReadToEnd()

        If Text.Contains("logout") Then
            Datenholen()
        Else
            MessageBox.Show("Logindaten sind falsch")
        End If
Hallo,
danke. Ich weiß nicht was ich falsch gemacht habe. Aber ich kanns mir nicht erklären. Damit komme ich jetzt weiter danke dir!
05/17/2013 21:12 dready#6
Na du hattest nichts falsch gemacht .. , du hast die Daten die zurückkamen nur nich verstanden :D

Edit:
Schau dir deine Header nochmal an :)
Du hast nicht wirklich viele Infos rausgegeben aber mein Bauch sagt mir das du etwas vergessen hast
05/17/2013 23:29 roteisenklinge#7
Servus ja ich muss mal schauen.brauche ja anscheinend dieses Format für die 2request und im html Content sind nur wenige Infos über die benötigten Daten muss mir das morgen komplett anschauen
05/22/2013 10:45 ℜoli#8
Ich mache sowas persönlich mit Webbrowser

Schreib mich an wenn du es so willst .
Ist meiner Meinung einfacher
05/22/2013 12:38 dready#9
Ist nicht einfacher bei dem was er machen will :)
05/23/2013 21:08 FUTDealer#10
Quote:
Originally Posted by ℜoli View Post
Ich mache sowas persönlich mit Webbrowser

Schreib mich an wenn du es so willst .
Ist meiner Meinung einfacher
Wozu gibts dann HTTPWebRequests, zumal man POST Daten per Webrequests verschickt.

Bevor jetzt die neunmalklugen kommen, mir ist bewusst das man POST Daten auch zu GET umwandeln und dann an die URL anhängen kann.
05/23/2013 22:12 tolio#11
nur wenn der server diese auch annimmt, per webbrowser kann man auch posten, trotzdem ist webrequest die weit bessere variante