Ankündigung

Einklappen
Keine Ankündigung bisher.

Webseite mit Login auslesen (aber kein htaccess)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Webseite mit Login auslesen (aber kein htaccess)

    Moin.... ich möchte gerne die Webseite von meiner Wärmepumpe auslesen. Diese wird bei dem Hersteller gehostet und ich muss mich dort mit meiner Emailadresse und einem Passwort einloggen. Allerdings sind das zwei Felder auf der Webseite und keine htaccess Passwortabfrage....
    Bisher hatte ich das über einen extra Webserver gelöst und mit dem folgenden Code ausgelesen:

    PHP-Code:
        <?php
        
    function get_string_between($string$start$end){
        
    $string " ".$string;
        
    $ini strpos($string,$start);
        if (
    $ini == 0) return "";
        
    $ini += strlen($start);
        
    $len strpos($string,$end,$ini) - $ini;
        return 
    substr($string,$ini,$len);
        }
        function 
    doPostRequest($item$data) {
        
    $url "http://user:passwort@192.168.178.7:8081/rest/items/" $item;
        
        
    $options = array(
        
    'http' => array(
        
    'header' => "Content-type: text/plain\r\n",
        
    'method' => 'POST',
        
    'content' => $data //http_build_query($data),
        
    ),
        );
        
        
    $context stream_context_create($options);
        
    $result file_get_contents($urlfalse$context);
        
        return 
    $result;
        }
        
        
    $ch curl_init();
        
    $timeout 5// set to zero for no timeout
        
        
    $ch curl_init();
        
        
    // SET URL FOR THE POST FORM LOGIN
        
    curl_setopt($chCURLOPT_URL'https://www.warmepump.com/LogIn?');
        
        
    // ENABLE HTTP POST
        
    curl_setopt ($chCURLOPT_POST1);
        
        
    // SET POST PARAMETERS : FORM VALUES FOR EACH FIELD
        
    curl_setopt ($chCURLOPT_POSTFIELDS'Email=ich@meinemail.de&Password=meinpasswort');
        
        
    // IMITATE CLASSIC BROWSER'S BEHAVIOUR : HANDLE COOKIES
        
    curl_setopt ($chCURLOPT_COOKIEJAR'ich@meinemail.txt');
        
        
    # Setting CURLOPT_RETURNTRANSFER variable to 1 will force cURL
        # not to print out the results of its query.
        # Instead, it will return the results as a string return value
        # from curl_exec() instead of the usual true/false.
        
    curl_setopt ($chCURLOPT_RETURNTRANSFER1);
        
        
    // EXECUTE 1st REQUEST (FORM LOGIN)
        
    $store curl_exec ($ch);
        
        
    // SET FILE TO DOWNLOAD
        
    curl_setopt($chCURLOPT_URL"https://www.warmepumpe.com/Status/Info");
        
        
    ob_start();
        
    $content curl_exec ($ch);
        
    curl_close($ch);
        
    $parsed get_string_between($content"<span class="AutoUpdateValue ID1234">""°C</span>");
          
        
    doPostRequest("heiz_t_aussen"$parsed);
        print 
    "$content";
        
        
    ?>
    Jetzt wollte ich den extra Webserver aber nicht mehr dafür benutzen, sondern das ganze lieber in Openhab machen....
    Jemand eine Idee wie das gehen könnte ?
    Das Hauptproblem ist ja anscheinend das einloggen, das Auslesen sollte dann ja funktionieren wie bei https://code.google.com/p/openhab-sa...a_HTTP_binding
    Gruß
    Jörg
    Zuletzt geändert von koboldo; 02.04.2015, 08:52.
    OpenHAB 1.6.2 auf AsRock Q1900 NAS mit Openmediavault, Java8 Version 1.8.0_33-0031

    #2
    Habe das nun doch per php auf dem NAS mit einem Cron laufen....
    OpenHAB 1.6.2 auf AsRock Q1900 NAS mit Openmediavault, Java8 Version 1.8.0_33-0031

    Kommentar

    Lädt...
    X