Wie login mit Curl und SSL und cookies
Ich versuche jetzt anmelden barnesandnoble.com mobile Website mit curl
und habe kein Glück so weit. Zurück bekomme ich die Seite ohne Fehler
und standardmäßig meine E-Mail in der E-Mail Eingabe im Feld Formular von der login-Seite wieder (in form von zurückgegeben print $Ergebnis).
Den gleichen code kann wirklich lassen Sie mich gehen in ebay korrekt
durch die änderung der LOGINURL-zu-Punkt-ebay-login -
Nur mit dem Unterschied, dass barnesandnobles https://
und ebay login war: http://
Ich glaube auch, dass barnes website ist asp/aspx, also ich weiß nicht
wie das wäre mit cookies und _state anders
Jede Hilfe würde geschätzt werden, da ich schon versucht zu Debuggen, das für die
Vergangenheit 16hrs
auch, meine cookie.txt beschreibbar ist und arbeiten
<?php
$cookie_file_path = "C:/test/cookie.txt";
$LOGINURL = "https://cart2.barnesandnoble.com/mobileacct/op.asp?stage=signIn";
$agent = "Nokia-Communicator-WWW-Browser/2.0 (Geos 3.0 Nokia-9000i)";
$ch = curl_init();
$headers[] = "Accept: */*";
$headers[] = "Connection: Keep-Alive";
$headers[] = "Content-type: application/x-www-form-urlencoded;charset=UTF-8";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $LOGINURL);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$content = curl_exec($ch);
curl_close($ch);
unset($ch);
//NAME="path_state" value="6657403">
if(stristr($content,"path_state")){
$array1 = explode('path_state" value="',$content);
$content1 = $array1[1];
$array2 = explode('">',$content1);
$content2 = $array2[0];
}
$LOGINURL = "https://cart2.barnesandnoble.com/mobileacct/op.asp?stage=signIn";
$POSTFIELDS = "d_hidPageStamp=V_3_17&hidViewMode=opSignIn&stage=signIn&previousStage=mainStage&path_state=" . $content2 . "&[email protected]&acctPassword=YOURPASSWORD";
$reffer = "https://cart2.barnesandnoble.com/mobileacct/op.asp?stage=signIn";
$ch = curl_init();
$headers[] = "Accept: */*";
$headers[] = "Connection: Keep-Alive";
$headers[] = "Content-type: application/x-www-form-urlencoded;charset=UTF-8";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $LOGINURL);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER, $reffer);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$result = curl_exec($ch);
print $result;
?>
InformationsquelleAutor Heather McVay | 2012-04-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein funktionierendes Beispiel, das ich erstellt aus dem code. Diese nutzt eine Funktion
getFormFields
dass schrieb ich für eine ähnliche Frage (die erste Referenz auf der Unterseite von diesem post), die Protokolle in den Android market.Ich denke, es waren vielleicht ein paar Dinge in Ihrem Skript, das waren die Verhinderung der login funktioniert. Zunächst sollten Sie urlencode die URL-Parameter wie E-Mail und Passwort in der post string (cURL wird nicht tun dies für Sie). Zweite, ich denke, die
x
Wert als Teil der login-URL kann erforderlich sein.Hier ist eine Lösung, die sich erfolgreich angemeldet hat. Hinweis, habe ich wieder verwendet die original-cURL Griff. Dies ist nicht notwendig, aber wenn Sie angeben, keep-alive, es wird tatsächlich wieder die dieselbe Verbindung verwenden, und es spart auch müssen Sie nicht geben Sie die gleichen Optionen über und über.
Sobald Sie die cookies, die Sie erstellen können eine neue cURL-Objekt, und geben Sie die COOKIEFILE und COOKIEJAR, und Sie werden angemeldet, ohne die ersten Schritte.
Dieser arbeitete für mich, hoffe, das hilft Euch gehen.
Hier sind einige weitere cURL Antwort, die ich haben, die helfen können, lernen:
Du bist willkommen, schön, dass es geholfen hat.
Drew, diese Antwort hat mir geholfen, die Antwort auf meine eigene Frage, stackoverflow.com/questions/16611362/curl-login-into-ebay-co-uk/... ich hoffe du verzeihst mir, aber ich habe einige von Euch code. 🙂
Völlig in Ordnung, bin froh, dass es hilfreich war! Ich sehe Sie sogar sehr nett Kredit-also ich kann Ihnen nicht genug danken.
Versucht, mehrere andere Lösungen, keiner arbeitete. Verwendet Ihre und endlich bekam was ich brauchte. Dank einer million...
InformationsquelleAutor drew010