Ankündigung

Einklappen
Keine Ankündigung bisher.

JSON String zerlegen und verteilen

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

  • AxelH
    antwortet
    Sodele, bin zurück von der Gemeinderatssitzung....
    und nochmals vielen Dank für die Geduld !!!!!!
    Wie auf Seite1 angewiesen habe ich nochmals das wget durchgeführt und mit CAT angezeigt.
    wget.PNG
    Der gleiche Abruf über CHROME:
    Browser.PNG

    Einen Kommentar schreiben:


  • EugenDo
    antwortet
    da ich das EDOMI persönlich nicht kenne, weiß ich nicht, ob Du an den PHP Aufruf in den tiefen ran kommst und diesen manipulieren kannst ... sonst könntest Du aber einen Art PROXY basteln ...

    installiere dir auf dem System Apache und PHP und mache den Aufruf manuell in einer PHP-Datei, die du per "http://localhost/abruf.php" oder so im Logikbaustein aufrufst und dir so den vllt. sogar schon gestrippten JSON zurück geben lässt.
    Zuletzt geändert von EugenDo; 26.02.2019, 21:16.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Das kann durchaus sein, das ist mir persoenlich zu "tiefes PHP"

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Das sehe ich auch so aber damit file_get_contents das macht muss es mit dem Stream-Context aufgerufen werden, sonst bricht es ab.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Eigentlich ist der 401er aber korrekt... ein Webserver der mit basic auth geschuetzten Content ausliefert antwortet grundsaetzlich immer zuerst mit einem 401er (also tatsaechlich bei jedem Request) - erst darauf hin schickt der Client dann die Credentials.

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Die 401 wird das Problem sein und der LBS wird vermutl. keine Wiederholung durchführen, wie es das wget macht.
    Der LBS müsste dazu etwas erweitert werden...

    https://www.hashbangcode.com/article...ilegetcontents

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Nein, https kann hier meiner Meinung nach kein Problem sein.
    Die erste 401er Meldung irritiert mich auch etwas.
    Es sieht aber so aus, als ob das Aufrufen der URL von EDOMI aus funktioniert, guck doch mal in die "Datei" die heruntergeladen wurde (1minutes... usw.), da sollte dann der JSON-Inhalt zu sehen sein.
    Kannst Du mit

    Code:
    cat "hier den langen Dateinamen der mit 1minutes.json beginnt"
    oder alternativ das wget mit der Option -O aufrufen:

    Code:
    wget -O ausgabe.txt "hier die komplette URL"
    und dann

    Code:
    cat ausgabe.txt

    Einen Kommentar schreiben:


  • EugenDo
    antwortet
    Was mich nun etwas irritiert ist der erste 401 Response ... und Content-Length scheint ja auch etwas mistig zu sein ... naja, ohne Header kann ich aber nichts genaueres sagen ...

    Einen Kommentar schreiben:


  • AxelH
    antwortet
    Wie Du merkst bin ich nicht er UNIX Experte....
    Danke für die Geduld....
    Kann es ein Problem mit https sein? --> HTTP Anforderung gesendet<--
    wget.PNG

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    wget ist nicht installiert:

    Code:
    yum install wget
    Update:
    EDOMI bzw. das CentOS benötigt dazu Internetzugang, ich hoffe dies ist gegeben?
    Zuletzt geändert von Glotzkowski; 26.02.2019, 19:53.

    Einen Kommentar schreiben:


  • AxelH
    antwortet
    Habe es auch Quotes gestzt, same result
    wget.PNG

    Einen Kommentar schreiben:


  • AxelH
    antwortet
    Hi Glotzkowski,

    hier das Resultat......habe die JSON Anfrag eingekürzt...
    was mache ich falsch? Er kennt das Komando nicht?
    wget.PNG

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von Glotzkowski Beitrag anzeigen
    Code:
    Die URL muss in Quotes, sonst zickt die Shell rum:
    Code:
    wget "https://[B]USERID:MEINPASSWORT[/B]@mypowerrouter.com/power_routers/16568/logs/1minutes.json?normalize_logs=true&amp;include_last_log=true&amp;solar_power=true&amp;solar_power_input1=true&amp;solar_voltage_input1=true&amp;solar_current_input1=true&amp;solar_temperature_input1=true&amp;solar_power_input2=true&amp;solar_voltage_input2=true&amp;solar_current_input2=true&amp;solar_temperature_input2=true&amp;dcac_grid_power=true&amp;dcac_grid_voltage=true&amp;dcac_frequency=true&amp;dcac_local_power=true&amp;dcac_local_voltage=true&amp;battery_state_of_charge=true&amp;battery_bus_power=true&amp;battery_voltage=true&amp;battery_current=true&amp;battery_pack_temperature=true&amp;platform_grid_power=true&amp;responseContentDataType=json"

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Zitat von AxelH Beitrag anzeigen
    wie kann ich denn den URL Abruf prüfen?
    Du solltest den Aufruf von EDOMI ausgehend prüfen, da der LBS ja auch dort läuft.

    Rufe die URL mit wget via SSH von EDOMI aus auf:

    Code:
    wget https://[B]USERID:MEINPASSWORT[/B]@mypowerrouter.com/power_routers/16568/logs/1minutes.json?normalize_logs=true&amp;include_last_log=true&amp;solar_power=true&amp;solar_power_input1=true&amp;solar_voltage_input1=true&amp;solar_current_input1=true&amp;solar_temperature_input1=true&amp;solar_power_input2=true&amp;solar_voltage_input2=true&amp;solar_current_input2=true&amp;solar_temperature_input2=true&amp;dcac_grid_power=true&amp;dcac_grid_voltage=true&amp;dcac_frequency=true&amp;dcac_local_power=true&amp;dcac_local_voltage=true&amp;battery_state_of_charge=true&amp;battery_bus_power=true&amp;battery_voltage=true&amp;battery_current=true&amp;battery_pack_temperature=true&amp;platform_grid_power=true&amp;responseContentDataType=json

    Einen Kommentar schreiben:


  • EugenDo
    antwortet
    Macht der Chrome einen Redirect oder so? Wie sehen die Header im Chrome aus? (Developer Mode F12 -> Network)

    Einen Kommentar schreiben:

Lädt...
X