Hallo,
ich versuche ein Datensheet von einem Web-Frontend automatisch einzulesen, um daraus ein automatisches Reporting zu erstellen.
folgendes habe ich mit cURL ausgeführt:
Soweit alles bestens. Der Login funktioniert. Ich kann mir jetzt auch weitere URLs in dem geschützten Bereich aufrufen. Wenn ich jetzt allerdings den eigentlichen Datasheet holen will, mit:
bekomme ich folgenden Quellcode:
D.h. die gleiche Seite, die ich vorher aufgerufen habe, wird wieder per Javascript geladen. Im Browser funktioniert das ohne Problem, aber wenn ich die Seite mit curl_exec($ch) nochmal lade, bekomme ich eine 302-Fehler.
Gibt es eine Möglichkeit mit cURL einen "Refresh" ohne einen "Reload" zu machen? Oder hat jemand eine Idee, wie ich auch diese Seite bekomme oder was den Fehler verursachen könnte?
Vielen Dank!
ich versuche ein Datensheet von einem Web-Frontend automatisch einzulesen, um daraus ein automatisches Reporting zu erstellen.
folgendes habe ich mit cURL ausgeführt:
PHP-Code:
// init cURL HTTP Client
$header = array();
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: ";
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_COOKIEFILE, '/.cookies');
curl_setopt($ch, CURLOPT_COOKIEJAR, '/.cookies');
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FAILONERROR, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 600);
curl_setopt($ch, CURLOPT_URL, 'https:// ... /signin.html');
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=".$login."&password=".$pass);
$response = curl_exec($ch);
PHP-Code:
curl_setopt($ch, CURLOPT_URL, 'https:// ... /data.html');
curl_setopt($ch, CURLOPT_POST, FALSE);
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
$response = curl_exec($ch);
Code:
<html> <head> <script language='javascript'>function autoNavigate() {window.location="data.html";}</script> </head> <body onload='autoNavigate()'></body> </html>
Gibt es eine Möglichkeit mit cURL einen "Refresh" ohne einen "Reload" zu machen? Oder hat jemand eine Idee, wie ich auch diese Seite bekomme oder was den Fehler verursachen könnte?
Vielen Dank!
Kommentar