2016-04-02 8 views
0

Ich versuche, die Darlehen Stat-Dateien von Leihclub herunterladen. Sie bieten zwei Versionen der Datei eine sichere Version und eine regelmäßige. . Um die sichere Version zum Download Ich muss angemeldet seinLending Club Website erlaubt mir nicht über CURL einloggen

Die URL liest so etwas wie: https://resources.lendingclub.com/secure/LoanStats3a_securev1.csv.zip?signature=foo&issued=bar

Both „Signatur“ und „ausgestellt“ scheinen jedes Mal wenn ich und wechseln Sie zu der Seite anmelden, um zu ändern .

Meine Lösung besteht darin, sich auf der Website anzumelden, zur Downloadseite zu gehen und die vollständige URL mit der Abfragezeichenfolge abzurufen.

habe ich versucht, den folgenden Code einloggen:

$username = "[email protected]"; 
$password = "mypassword"; 

$url='https://www.lendingclub.com/account/login.action?login_email='.$username.'&login_password='.$password; 
$agent= 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_VERBOSE, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
curl_setopt($ch, CURLOPT_URL,$url); 
$result=curl_exec($ch); 
$httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE); 

var_dump($httpcode); 
var_dump($result); 
return; 

ich eine HTTP-Antwort von 200 erhalten Und

int(200) string(32454) "  
This website does not support this version of Internet Explorer. Please upgrade to the latest version for a better experience. Upgrade Now 
... 

ich durch Schnüffeln den Header den User-Agent-String bekam, wenn ich auf die Website zugreifen in meinem Browser.

Ich verbrachte einen guten Teil des Nachmittags mit dem Googlen und versuchte einen Weg zu finden, um dieses Problem zu lösen. Ich habe es mit Cookies versucht und es hat nicht funktioniert.

Irgendwelche Ideen, was ich noch versuchen kann?

Vielen Dank.

Antwort

0

Nachdem ich ein paar weitere Dinge versucht hatte, konnte ich endlich eine Lösung für mein Problem finden.

ich es hier als Referenz, falls jemand ein ähnliches Problem in der Zukunft bin Entsendung: mit meinem Zugangsdaten (Benutzername und Passwort) in der ersten cURL Anfrage

ich Lending Club anmelden wollte. Die Seite erlaubte mir nicht mich einzuloggen und führte mich immer wieder zum Login-Bildschirm.

Meine Lösung war, 2 cURL Anfragen zu verwenden. Der erste auf der Anmeldeseite ohne meine Anmeldeinformationen. Ich habe es getan, damit ich den von der Website gesetzten Cookie speichern konnte. Dann habe ich dieses Cookie in meiner zweiten cURL-Anfrage verwendet - dieses mit meinen Zugangsdaten. Es funktionierte.

unter dem Arbeitscode Siehe:

$cookie = 'cookie.txt'; 
$url = 'https://www.lendingclub.com/account/login.action'; 

//first cURL request - no login credentials. Used only to get the cookie from site. 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Accepts all CAs 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); // Stores cookies in the temp file 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$output = curl_exec($ch); 

//second cURL request - with login credentials. Added cookie obtained from first cURL request above. 
$fields = array( 
    'login_email' => '[email protected]', 
    'login_password' => 'mypassword', 
); 
$fields_string = ''; 
foreach($fields as $key=>$value) 
{ 
    $fields_string .= $key . '=' . $value . '&'; 
} 
rtrim($fields_string, '&'); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Accepts all CAs 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST, count($fields)); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //Uses cookies from the temp file 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); // Stores cookies in the temp file 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Tells cURL to follow redirects 
$output = curl_exec($ch); 

Auch Ich erhalte immer noch die Meldung, dass die Website nicht diese Version von Internet Explorer unterstützt. Aber es scheint nur eine Warnung zu sein. Ich kann mich immer noch anmelden.

Danke.

+0

Interesse an dem, was Sie getan haben/getan haben. Ich arbeite an etwas sehr ähnlichem mit Java. Ich würde gerne mit dir reden. –

Verwandte Themen