NEWS
Smartfox Pro XML keine Daten
-
Ich versuche die XML-Daten von Smartfox Pro in einem Skript einzulesen. Die Daten werden im Browswer mit http://smartfox/values.xml angezeigt.
Mit folgendem Skript erhalte ich keine Daten, aber auch keine Fehlermeldung:
const axios = require('axios'); axios.get('http://smartfox/values.xml') .then(response => { console.log('XML-Daten:', response.data.toString()); }) .catch(error => console.error('Fehler:', error));
MOD-EDIT: Code in code-tags gesetzt!
Mein IOBroker ist auf Proxmox als LXC ohne Firewall installiert.
In der Console mit curl -v http://192.168.1.107/values.xml erhalte ich die Daten.Ich finde keinen Grund, warum im Skript keine Daten angezeigt werden.
-
das kann vielfältig sein. ich habe da auch eine Vermutung
aber füge mal noch diese zeilen ein um etwas vom response zu erfahren.
console.log(error.response.data); console.log(error.response.status); console.log(error.response.headers);
wenn du keine fehlermeldung erhalten hast, dann gab es zumindest kein javascript fehler, allerdings hast du die request informationen nicht so an den server geliefert wie er das haben will. ich tippe auf den fehlenden header content type.
dazu kannst du auch das schonmal im browser nachschauen.- dort den link aufrufen,
- dann f12 um die developer konsole des browsers aufrufen
- dann f5 zum neuladen
- dann reiter network den ersten request auswählen und schauen was da - für request und response headers stehen.
der browser/curl macht um einiges automatisiert mehr, wie die programm bibliothek, was du dann auch mitliefern musst.
alternativ mit curl gibt ja die option -v die headers aus, die curl da mitschickt. das musst du nachbilden.
für einfache programmierunterstützung einfach bei chatgpt deinen bestehenden code, sowie die curl ausgabe kopieren und chatgpt anweisen er soll dir deinen code verbessern und die headers hinzufügen.
funktioniert sehr gut -
@knowhowseeker Wenn es per IP Adresse geht, dann nutze die. Ein Webdienst ohne TopLevelDomain und nur http statt https sieht für mich verkehrt aus.
-
@peterfido
Das ist lokal im lan und das gerät ist
unter seinem hostname erreichbar.
Im lan macht https meist nicht so viel Sinn.
In Lan haben die meisten Geräte
lan oder local -
@oliverio Ich hätte jetzt smartfox.lan/values.xml, smartfox.local/values.xml, smartfox.fritz.box/values.xml oder ähnliches erwartet.
-
@peterfido
ja genau. ich hätte noch dazu schreiben sollen das ich hiermit die TLDs meine.@oliverio sagte in Smartfox Pro XML keine Daten:
In Lan haben die meisten Geräte
lan oder localLeider erst seit kurzem mit internal standardisiert, aber keine Pflicht
https://www.heise.de/news/Ueberfaellig-ICANN-legt-sich-auf-Namen-fuer-interne-Domain-fest-9612253.html