Jump to content

LADETRACKER - charge_tracker/charge_log - Fehler in Node-Red (http request)


Recommended Posts

Hallo zusammen,

ich bekommen beim Aufruf über die node http request (sends HTTP requests and returns the response) http://10.0.0.1/charge_tracker/charge_log auf meinem Node-Red folgende Fehlermeldung "HPE_UNEXPECTED_CONTENT_LENGTH" bzw. "RequestError: Parse Error: Content-Length can't be present with Transfer-Encoding"

Laut RFC darf die Warp2 Charger Pro nicht Content-Length als Server senden.

Hinweis: Mittels curl funktioniert es.
Beispiel:  curl --digest --user ich:passwort --output charge.log http://10.0.0.1/charge_tracker/charge_log

Hinweis: In Node-Red nutze ich jetzt zur Ausführung die exec node mit der obige curl.

Hat jemand noch eine Idee wie ich es dennoch in Node-Red mittels node umsetzen kann?

Link zu diesem Kommentar
Share on other sites

13 hours ago, AndyHandy said:

Laut RFC darf die Warp2 Charger Pro nicht Content-Length als Server senden.

Hm da habe ich gleich was gelernt, danke :) https://httpwg.org/specs/rfc7230.html#header.content-length sagt

Quote

A sender MUST NOT send a Content-Length header field in any message that contains a Transfer-Encoding header field.

Der Ladetracker benutzt Transfer-Encoding: Chunked damit der ESP nicht das ganze Ladelog gleichzeitig im RAM halten muss. Die Content-Length wird gesetzt, für den Fall dass das Log groß ist und die Netzwerk-Verbindung langsam. Dann kann der Download ein paar Sekunden dauern. Zumindest die Browser verstehen das und man bekommt eine sinnvolle Fortschrittsanzeige.

Da jetzt aber der Normalfall ist, dass man das Ladelog über das Webinterface runterlädt, dass die Binärdatei in Javascript noch in eine CSV umbaut, sieht man sowieso die Browser-Fortschrittsanzeige nicht. D.h. ich nehme das Setzen der Content-Length einfach raus, dann müsste es in Node-Red mit der nächsten Firmware auch funktionieren: https://github.com/Tinkerforge/esp32-firmware/commit/4b21a005257d08c44ac553315b744aff5da9532f

Link zu diesem Kommentar
Share on other sites

 

23 hours ago, rtrbt said:

Da jetzt aber der Normalfall ist, dass man das Ladelog über das Webinterface runterlädt, dass die Binärdatei in Javascript noch in eine CSV umbaut, sieht man sowieso die Browser-Fortschrittsanzeige nicht. D.h. ich nehme das Setzen der Content-Length einfach raus, dann müsste es in Node-Red mit der nächsten Firmware auch funktionieren: https://github.com/Tinkerforge/esp32-firmware/commit/4b21a005257d08c44ac553315b744aff5da9532f

Klasse und vielen Dank für die schnelle Reaktion. Ich werde es dann testen und hier berichten😀

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...