Hey,
bei der Entwicklung eines kleinen Projektes bin ich beim Login auf der LeagueOfLegends Website auf ein kleines Problem gestoßen.
Die Request + Header funktionieren bis auf einen kleinen Teil eigentlich einwandfrei. Das Problem liegt im Referer im Header, denn das Loginsystem funktioniert mit [Only registered and activated users can see links. Click Here To Register...].
Bisheriger Code, Ausschnitt (Sensible Daten in allen Code-Auschnitten/Header durch Capslock-Pseudonyme/* oder "censored" ersetzt)
Das Problem liegt (meines Wissens nach) in der Zeile:
denn das der Wert bei xdm_c wird jedes mal verändert. Jedoch ist es mir nicht möglich diesen Wert irgendwo zu erhalten.
Zusätzliche Informationen:
Wenn man sich normal einloggt (zb. mit Firefox), so wird zuerst noch eine andere GET-Request gesendet:
Weitere Requests, welche in Zusammenhang mit dem Referer stehen:
Meine Frage ist nun, wie löse ich das Problem (wie erhalte ich den korrekten Wert für xdm_c) und/oder liegt mein Problem ganz woanders ?
(Die gleiche Request liegt auch nochmal als C# src vor, falls es in der php Version noch weitere Probleme gibt)
bei der Entwicklung eines kleinen Projektes bin ich beim Login auf der LeagueOfLegends Website auf ein kleines Problem gestoßen.
Die Request + Header funktionieren bis auf einen kleinen Teil eigentlich einwandfrei. Das Problem liegt im Referer im Header, denn das Loginsystem funktioniert mit [Only registered and activated users can see links. Click Here To Register...].
Bisheriger Code, Ausschnitt (Sensible Daten in allen Code-Auschnitten/Header durch Capslock-Pseudonyme/* oder "censored" ersetzt)
PHP Code:
$post_str = "username=USERNAME&password=PASSWORD&recaptcha_challenge_field=GOOGLERECAPTCHACODE&recaptcha_response_field=RECAPTCHAANSWER";
$socket = fsockopen("ssl://account.leagueoflegends.com", 443, $errno, $errstr, 10);
$http = "POST /auth HTTP/1.1\r\n";
$http .= "Host: account.leagueoflegends.com\r\n";
$http .= "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0\r\n";
$http .= "Accept: application/json, text/javascript, */*; q=0.01";
$http .= "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3";
$http .= "Accept-Encoding: gzip, deflate";
$http .= "DNT: 1";
$http .= "Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n";
$http .= "X-Requested-With: XMLHttpRequest";
$http .= "Referer: https://account.leagueoflegends.com/pm.html?xdm_e=http%3A%2F%2Feuw.leagueoflegends.com&xdm_c=default9513&xdm_p=1";
$http .= "Content-length: ".strlen($post_str)."\r\n";
$http .= "Connection: keep-alive\r\n\r\n";
$http .= "Pragma: no-cache";
$http .= "Cache-Control: no-cache";
$http .= $post_str . "\r\n\r\n";
(anmerkung: bei der Requests wird der PVPNET_REGION = euw Cookie noch nicht mitgesendet weswegen diese Anfrage sowieso nicht funktioniert)
PHP Code:
$http .= "Referer: https://account.leagueoflegends.com/pm.html?xdm_e=http%3A%2F%2Feuw.leagueoflegends.com&xdm_c=default9513&xdm_p=1";
Zusätzliche Informationen:
Wenn man sich normal einloggt (zb. mit Firefox), so wird zuerst noch eine andere GET-Request gesendet:
Weitere Requests, welche in Zusammenhang mit dem Referer stehen:
Meine Frage ist nun, wie löse ich das Problem (wie erhalte ich den korrekten Wert für xdm_c) und/oder liegt mein Problem ganz woanders ?
(Die gleiche Request liegt auch nochmal als C# src vor, falls es in der php Version noch weitere Probleme gibt)