AndyHandy Geschrieben July 14, 2022 at 18:18 Geschrieben July 14, 2022 at 18:18 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? Zitieren
rtrbt Geschrieben July 15, 2022 at 08:51 Geschrieben July 15, 2022 at 08:51 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 1 Zitieren
AndyHandy Geschrieben July 16, 2022 at 08:52 Autor Geschrieben July 16, 2022 at 08:52 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😀 Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.