Hallo zusammen,
ich hab hier ein kleines Problem, bei dem ich nicht so recht weiterkomme.
Ich habe hier im Haus einen Stromzähler, der einen LAN-Port hat und einen integrierten Webserver um die Daten anzuzueigen und zu exportieren.
Um auf die Seite zu kommen ist ein Login nötig.
Ich möchte nun gerne per PHP ein automatischen Login und die CSV-Daten in eine MySQL-Datenbank speichern.
Der Login per cURL hat soweit schon geklappt und es werden mir mit dem Script auch ein paar Daten angezeigt allerdings nur ein paar Zeilen - es sollten jedoch weit über 3000 Zeilen sein.
Das Script läuft aber eine gefühlte Ewigkeit und zeigt mir dann noch nur die ersten ca. 50 Zeilen an.
Für mich wäre jetzt einfach wichtig ALLE Daten eine Variable zu bekommen.
Sollte es nötig sein den Webserver temporär von Aussen zugägnglich zu machen wäre das kein Problem.
PHP-Code:
$login_url = 'http://192.168.1.49/index';
//These are the post data username and password
$post_data = 'user=admin&password=admin&action=login&login=Login';
//Create a curl object
$ch = curl_init();
//Set the useragent
$agent = $_SERVER["HTTP_USER_AGENT"];
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
//Set the URL
curl_setopt($ch, CURLOPT_URL, $login_url );
//This is a POST query
curl_setopt($ch, CURLOPT_POST, 1 );
//Set the post data
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//We want the content after the query
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//Follow Location redirects
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
/*
Set the cookie storing files
Cookie files are necessary since we are logging and session data needs to be saved
*/
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
//Execute the action to login
$postResult = curl_exec($ch);
echo curl_error ( $ch );
$content = readfile("http://192.168.1.49/storage?action=download");
echo $content;