Hallo, php-Community,
ich hab mich extra in dem Forum hier angemeldet, um diese eine Frage zu stellen. Bislang hab ich Fragen zu PHP immer in einem Forum gestellt, in dem es hauptsächlich um Mediengestaltung ging, das hat auch gg geklappt, bis zu der heutigen Frage halt. Von daher werde ich für PHP-Fragen, und insbesondere da ich vorhabe mich tiefer in PHP einzuarbeiten, mich ab jetzt wohl an dieses Forum hier wenden.
Ich versuche ein PHP Script zu erstellen, dass sich bei lockerz.com einloggt.
Und dieses Script muss ohne cURL funktionieren, damit es möglichst auch auf free Webspace nutzbar ist.
Das ist das Formular, auf http://www.lockerz.com/. In dieser Seite soll sich der Server bei Aufruf des PHP-Scriptes einloggen.
Mein PHP-Script dazu sieht bislang so aus:
Das der Quelltext der Seite ausgegeben wird, soll natürlich, wenn das Script fertig ist nicht mehr sein, das ist erst Mal nur zum Testen.
Das Script funktioniert aber so nicht. Es wird nicht der Quellcode der Seite, auf die man von /auth/login weitergeleitet wird, nangezeigt, sondern der der Login-Seite (http://www.lockerz.com/).
Der Login schlägt auch nicht fehl, sonst stände anstatt
da. Das ganze kann man sich hier angucken:
http://skillz-entertainment.kilu.de/invites/. Da habe ich natürlich ein richtiges Passwort mit zugehöriger e-Mail-Addresse verwendet.
Das hier gibt mir HTTPFox bei erfolgreichem Loginversuch auf der original Webseite als Requestheader aus.
Sollte ich jetzt jede dieser Angaben, die konstant bleiben, in das Script übernehmen?
Oder ist das Script an sich falsch.
Ich hoffe Ihr verzeiht mir meinen langen Aufsatz und seid in der Lage mir zu helfen.
SideSwipe
ich hab mich extra in dem Forum hier angemeldet, um diese eine Frage zu stellen. Bislang hab ich Fragen zu PHP immer in einem Forum gestellt, in dem es hauptsächlich um Mediengestaltung ging, das hat auch gg geklappt, bis zu der heutigen Frage halt. Von daher werde ich für PHP-Fragen, und insbesondere da ich vorhabe mich tiefer in PHP einzuarbeiten, mich ab jetzt wohl an dieses Forum hier wenden.
Ich versuche ein PHP Script zu erstellen, dass sich bei lockerz.com einloggt.
Und dieses Script muss ohne cURL funktionieren, damit es möglichst auch auf free Webspace nutzbar ist.
Code:
<form id="login-form" action="auth/login" method="post"> <div> <label for="rememberme">Remember me</label> <input type="checkbox" class="remember" checked="checked" name="remember me" /> <label for="email" id="email-label" class="no-js">Email</label> <input id="email-email" type="text" name="handle" value="" autocomplete="off" /> <label for="combination" id="combo-label" class="no-js">Combination</label> <input id="password-clear" type="text" value="Combination" autocomplete="off" /> <input id="password-password" type="password" name="password" value="" autocomplete="off" /> <input id="sumbitLogin" class="signin" type="submit" value="Sign In" /> </div> </form>
Mein PHP-Script dazu sieht bislang so aus:
PHP-Code:
<?php
$data = "remember+me=on&handle=username%40mail.de&password=usernamespassword";
$params = array('http' => array(
'method' => 'POST',
'header' => array(
'Content-Type' => "application/x-www-form-urlencoded",
'Content-Length' => strlen($data),
'User-Agent' => "Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3",
'Referer' => "http://www.lockerz.com/"
),
'content' => $data
)
);
$ctx = stream_context_create($params);
$fp = @fopen("http://www.lockerz.com/auth/login", 'r', false, $ctx); // rb
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
else{
echo htmlentities($response);
}
?>
Das Script funktioniert aber so nicht. Es wird nicht der Quellcode der Seite, auf die man von /auth/login weitergeleitet wird, nangezeigt, sondern der der Login-Seite (http://www.lockerz.com/).
Der Login schlägt auch nicht fehl, sonst stände anstatt
Code:
<input id="sumbitLogin" class="signin" type="submit" value="Sign In" />
Code:
<input id="sumbitLogin" class="signin-wrong-email" type="submit" value="Login Failed - Try Again" />
http://skillz-entertainment.kilu.de/invites/. Da habe ich natürlich ein richtiges Passwort mit zugehöriger e-Mail-Addresse verwendet.
Das hier gibt mir HTTPFox bei erfolgreichem Loginversuch auf der original Webseite als Requestheader aus.
(Request-Line) POST /auth/login HTTP/1.1
Host www.lockerz.com
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer http://www.lockerz.com/
Cookie __utma=cookie inhalt, zur Vorsicht rausgenommen
Content-Type application/x-www-form-urlencoded
Content-Length 73
Host www.lockerz.com
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer http://www.lockerz.com/
Cookie __utma=cookie inhalt, zur Vorsicht rausgenommen
Content-Type application/x-www-form-urlencoded
Content-Length 73
Oder ist das Script an sich falsch.
Ich hoffe Ihr verzeiht mir meinen langen Aufsatz und seid in der Lage mir zu helfen.
SideSwipe
Kommentar